Regex para obter NUMBER somente de String

Eu recebo “7+” ou “5+” ou “+5” do XML e quero extrair apenas o número da string usando o Regex. Por exemplo, a function 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 qualquer dígito, + para um ou mais. Se você quiser pegar números negativos também, você pode usar -?\d+ .

Observe que, como uma string, ela deve ser representada em C # como "\\d+" ou @"\d+"

As respostas acima são ótimas. Se você estiver precisando analisar todos os números de uma string que não seja consecutiva, o seguinte pode ser de alguma ajuda:

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

Ou [0-9] ou \d 1 deve ser suficiente se você precisar apenas de um único dígito. Anexar + se você precisar de mais.


1 A semântica é um pouco diferente, já que \d potencialmente corresponde a qualquer dígito decimal em qualquer script que use dígitos decimais.