Je reçois “7+” ou “5+” ou “+5” de XML et souhaite extraire uniquement le nombre de la chaîne en utilisant Regex. par exemple la fonction Regex.Match ()
ssortingngThatHaveCharacters = ssortingngThatHaveCharacters.Trim(); Match m = Regex.Match(ssortingngThatHaveCharacters, "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 bien saisir des nombres négatifs, vous pouvez utiliser -?\d+
.
Notez que, en tant que chaîne, il devrait être représenté en C # comme "\\d+"
ou @"\d+"
Les réponses ci-dessus sont excellentes. Si vous avez besoin d’parsingr tous les nombres d’une chaîne qui ne sont pas consécutifs, les éléments suivants peuvent vous aider:
ssortingng input = "1-205-330-2342"; ssortingng result = Regex.Replace(input, @"[^\d]", ""); Console.WriteLine(result); // >> 12053302342
Soit [0-9]
ou \d
1 devrait suffire si vous n’avez besoin que d’un seul chiffre. Ajoutez +
si vous avez besoin de plus.
1 La sémantique est légèrement différente car \d
correspond potentiellement à tout chiffre décimal de tout script qui utilise des chiffres décimaux.