J'ai besoin de trouver et d'extraire un nombre contenu dans une chaîne de caractères.
Par exemple, à partir de ces chaînes de caractères :
string test = "1 test"
string test1 = " 1 test"
string test2 = "test 99"
Comment puis-je le faire ?
J'ai besoin de trouver et d'extraire un nombre contenu dans une chaîne de caractères.
Par exemple, à partir de ces chaînes de caractères :
string test = "1 test"
string test1 = " 1 test"
string test2 = "test 99"
Comment puis-je le faire ?
Pour prendre en charge les nombres négatifs, vous pouvez utiliser Regex.Match(subjectString, @"-?\d+").Value
au lieu de
@JonList : L'OP a déclaré dans son commentaire ci-dessus qu'il ne cherche pas de chiffres négatifs, mais oui, ce serait possible si on le souhaite.
Cette réponse n'est pas complète (en C#). Elle ne récupère que le premier chiffre de la chaîne. Vous devez itérer sur les correspondances : resultString = string.Join(string.Empty, Regex.Matches(subjectString, @" \d +").OfType<Match>().Select(m => m.Value)) ;
@Thomas : Ce code ne fonctionne pas, il résulte avec b == "System.Linq.Enumerable.."
. La solution correcte (et encore plus simple) serait la suivante b = String.Join("", a.Where(char.IsDigit))
Bon point, ça m'apprendra à ne pas tester le code que j'écris en commentaire ! Vous pouvez également créer une chaîne à partir d'un tableau de caractères en utilisant la fonction new string(char[])
constructeur.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
2 votes
Le chiffre pourrait-il être négatif ? Si c'est le cas, comment serait traité "Bonjour - comment allez-vous ? -30" ?
0 votes
Bonjour John, Pas de nombres négatifs dans les données
5 votes
Les nombres décimaux comme
1.5
? La notation exponentielle comme1.5E45
?0 votes
Similaire (mais pas identique) : stackoverflow.com/questions/1561273/
0 votes
Votre réponse est ici : stackoverflow.com/questions/844461/
3 votes
Pourquoi aucune réponse n'est-elle acceptée ici ?
0 votes
Vérifiez ce message gist.github.com/anirugu/780a1f1319bfe39f47f6efa0197985c8