如何从字符串中获取数字(C#)

时间:2017-07-05 07:11:45

标签: regex numbers

我有以下字符串:

SHM_RDONLY

我需要得到一组数字:

5

19

34

我无法为此操作找到必要的正则表达式。 提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

你走了:

string input = "{ (MerchantId eq 5 or MerchantId eq 19 or MerchantId eq 34)}";
Regex regex = new Regex(@"(\d+)");
List<int> numbers = new List<int>();

var matches = regex.Matches(input);

for (int i = 0; i < matches.Count; i++)
{
    numbers.Add(Int32.Parse(matches[i].Value));
}

如果你坚持使用数组,请改用:

var matches = regex.Matches(input);
int[] numbers = new int[matches.Count];

for (int i = 0; i < matches.Count; i++)
{
    numbers[i] = Int32.Parse(matches[i].Value);
}