Je reçois XML de "7+" ou "5+" ou "+5" et souhaite extraire uniquement le nombre de chaînes à l'aide de Regex. par exemple, fonction Regex.Match ()
stringThatHaveCharacters = stringThatHaveCharacters.Trim();
Match m = Regex.Match(stringThatHaveCharacters, "WHAT I USE HERE");
int number = Convert.ToInt32(m.Value);
return number;
\d+
\d
représente n’importe quel chiffre, +
pour un ou plusieurs. Si vous voulez aussi attraper des nombres négatifs, vous pouvez utiliser -?\d+
.
Notez qu'en tant que chaîne, il devrait être représenté en C # par "\\d+"
, ou @"\d+"
Les réponses ci-dessus sont excellentes. Si vous avez besoin d'analyser tous les nombres d'une chaîne non consécutifs dans une chaîne, les éléments suivants peuvent vous être utiles:
string input = "1-205-330-2342";
string result = Regex.Replace(input, @"[^\d]", "");
Console.WriteLine(result); // >> 12053302342
Non plus [0-9]
ou \d
1 devrait suffire si vous n'avez besoin que d'un seul chiffre. Ajouter +
si vous avez besoin de plus.
1 La sémantique diffère légèrement de \d
correspond potentiellement tout chiffre décimal dans n'importe quel script utilisant des chiffres décimaux.