Regex pour obtenir NUMBER uniquement à partir de Ssortingng

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.