Regex per ottenere NUMBER solo da String

Ricevo “7+” o “5+” o “+5” da XML e voglio estrarre solo il numero dalla stringa usando Regex. ad esempio la funzione Regex.Match ()

stringThatHaveCharacters = stringThatHaveCharacters.Trim(); Match m = Regex.Match(stringThatHaveCharacters, "WHAT I USE HERE"); int number = Convert.ToInt32(m.Value); return number; 

\d+

\d rappresenta qualsiasi cifra, + per uno o più. Se vuoi prendere anche numeri negativi puoi usare -?\d+ .

Nota che come stringa deve essere rappresentata in C # come "\\d+" o @"\d+"

Le risposte sopra sono grandiose. Se hai bisogno di analizzare tutti i numeri di una stringa non consecutiva, il seguente potrebbe essere di aiuto:

 string input = "1-205-330-2342"; string result = Regex.Replace(input, @"[^\d]", ""); Console.WriteLine(result); // >> 12053302342 

O [0-9] o \d 1 dovrebbe essere sufficiente se hai bisogno di una sola cifra. Aggiungi + se hai bisogno di più.


1 La semantica è leggermente diversa poiché potenzialmente corrisponde a qualsiasi cifra decimale in qualsiasi script là fuori che usa cifre decimali.