Hello,
voici ma string "demo3483030";
je cherche à extraire de cette chaine de caractères tous les numéros.
Comment fait on?
D'avance, Merci.
Hello,
voici ma string "demo3483030";
je cherche à extraire de cette chaine de caractères tous les numéros.
Comment fait on?
D'avance, Merci.
Salut,
tu peux faire une boucle en testant les caractères :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 foreach(var c in str) { if(char.IsNumber(c)) { //... } }
Sinon, tu peux utiliser une expression régulière :
après, à toi de voir ce que tu veux en faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 String input = "kjlkjdf48d48fcxds983s2c1"; MatchCollection matches = Regex.Matches(input, "[0-9]"); foreach (Match match in matches) { // par exemple : this.Label1.Text += match.Value; }
Si t'es sûr que les chiffres sont consécutifs et sont présents une seule fois dans la chaîne, rajoute + après [0-9].
Salut,
Si la chaine demo00000 est créé dans le code tu peux eventuellement mettre un caractere entre demo et le chiffre de facon à utiliser un split après.
dans le cas contraire, une boucle s'impose tu test si c'est un nombre ou pas et à chaque fois tu concaténe dans une chaine temporaire que tu peux convertir ensuite. Convert.ToInt32
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 char[] tab = chaineStr.ToCharArray(); String prefixLettre = "", suffixNombre = ""; for(int i = tab.Length-1;i>=0;i--) { if (char.IsNumber(tab[i])) suffixNombre = tab[i] + suffixNombre; else prefixLettre = tab[i] + prefixLettre; } int numero = int.Parse(suffixNombre);
Salut,
Tu peux faire quelque chose de simple comme ceci :
tu auras :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 string a="demo3483030"; string b = a.Split('3')[0]; string c = a.Split('3')[1];
c'est une méthode facile mais le problème c'est que le caractère où tu fais le Split disparais, de même si tu as plusieurs chaînes contenant "demo" et que le premier chiffre est autre que 3 tu devras faire du cas par cas avec cette méthode, au pire tu peux utiliser un switch le mieux serait d'utiliser des crochets [0-9] pour dire que dès le premier chiffre tu coupes mais je ne sais pas si ça marche avec Split.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 string b = "demo"; string c = "483030";
Euh, la discussion date de 2010...
Less Is More
Pensez à utiliser les boutons
,
et les balises code
Desole pour l'absence d'accents, clavier US oblige
Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.
Partager