Skip to main content
 首页 » 编程设计

C# 正则表达式返回括号中的数字

2024年02月02日28findumars

我有这样一个字符串:

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)); 

或者甚至(如果你不害怕魔数(Magic Number)):

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));