Regex para obtener NUMBER solo de String

Recibo “7+” o “5+” o “+5” de XML y quiero extraer solo el número de la cadena usando Regex. por ejemplo, la función Regex.Match ()

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

\d+

\d representa cualquier dígito, + para uno o más. Si quieres capturar números negativos también, puedes usar -?\d+ .

Tenga en cuenta que, como cadena, debería representarse en C # como "\\d+" , o @"\d+"

Las respuestas anteriores son geniales. Si necesita analizar todos los números de una cadena que no son consecutivos, puede ser de ayuda lo siguiente:

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

O bien [0-9] o \d 1 debería ser suficiente si solo necesita un dígito. Añada + si necesita más.


1 La semántica es ligeramente diferente ya que \d puede coincidir con cualquier dígito decimal en cualquier script que utilice dígitos decimales.