je cherche à tester si le 2ème caractère de ma chaine est une majuscule ou pas
String c = textBox1.Text.Substring(1,1);
Mais après comment tester ce caractère ?
Version imprimable
je cherche à tester si le 2ème caractère de ma chaine est une majuscule ou pas
String c = textBox1.Text.Substring(1,1);
Mais après comment tester ce caractère ?
bool result = c.ToUpper() == c;
super merci
bool isUpper = Char.IsUpper(this.textbox1.Text[i]);
+1
Je préfère aussi :D
moi je pensais plus à un truc du style :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 string TestCar = "Mon CaracTèrE en majuScule"; Dictionary<int, char> liste = new Dictionary<int, char>(); int i = 0; foreach (char c in TestCar.ToCharArray()) { if (Char.IsUpper(c)) { liste.Add(i, c); } i++; } //affichage pour contrôle. int[] keys = new int[liste.Keys.Count]; liste.Keys.CopyTo(keys,0); foreach (int key in keys) { Console.WriteLine("Clé : " + key + " de valeur : " + liste[key]); }
salut
Encore plus compliqué !
Et pourquoi pas ne pas vérifier que la valeur du caratère ASCII ne se trouve entre les valeurs 0x41et 0x5A plutôt que d'utiliser des méthodes de la classe Char ? :lol:
En ce qui me concerne, la solution de neptune est excellente, simple et sans bavure ....
A+
Oliv.
Pour information, voici ce qui est exécuté quand tu fait un Char.IsUpper(char) ;-)
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 public static bool IsUpper(char c) { if (!IsLatin1(c)) { return (CharUnicodeInfo.GetUnicodeCategory(c) == UnicodeCategory.UppercaseLetter); } if (!IsAscii(c)) { return (GetLatin1UnicodeCategory(c) == UnicodeCategory.UppercaseLetter); } return ((c >= 'A') && (c <= 'Z')); }
Ce qui me faisait juste rire, c'est que plus ça allait, plus le code était long ....:lol:
c'est tout !
apparamment, cela n'a fait rire que moi, désolé pour le dérangement ....:oops:
Code:
1
2
3
4
5 if(maString[i] > 0x40 && maString[i] < 0x5B) { //majuscule }
Bon qui nous proposes la méthode en passant par la lecture du flux binaire ? :mrgreen: