我有一个这样的字符串:
numbers(23,54)
输入格式是这样的:
numbers([integer1],[integer2])
如何使用正则表达式获取数字“23”和“54”?或者还有其他更好的获取方式吗?
您可以避免使用正则表达式,因此您的输入具有一致的格式:
string input = "numbers(23,54)";
var numbers = input.Replace("numbers(", "")
.Replace(")", "")
.Split(',')
.Select(s => Int32.Parse(s));
甚至(如果你不害怕幻数):
input.Substring(8, input.Length - 9).Split(',').Select(s => Int32.Parse(s))
更新这里还有正则表达式版本
var numbers = Regex.Matches(input, @"\d+")
.Cast<Match>()
.Select(m => Int32.Parse(m.Value));
是的 使用 (\d+) 正确获取数字 这是正确的方法