我的问题是从字符串中提取整数(在C#中)。有一个字符串,在最后的圆括号中可以有一个整数正数(没有前导零),例如“这是一个字符串(125)”。我想编写一个代码来验证它是否具有这样的形式,如果是,则从中提取数字和其余部分。例如,如果字符串是“This is a string(125)”,则结果应为“This is a string”(type:string)和125(integer)。如果字符串是“另一个例子(7)”,结果应该是“另一个例子”,并且7.正则表达式是有用的,还是我应该写一个解析函数?
答案 0 :(得分:0)
你可以试试这个
string firstPart = Regex.Match(inputString, @"\(([^)]*)\)").Groups[0].Value;
int number;
Int32.TryParse(Regex.Match(inputString, @"\(([^)]*)\)").Groups[1].Value, out number);
编辑:
显然你可以优化它,而不是两次匹配,但这显示了如何使用它。
答案 1 :(得分:0)
如果输入值总是具有相同的结构(例如/ type / bracket / value / bracket),那么您可以通过以下方式完成:
1)RegEx
2)String.Split()
3)String.IndexOf()
答案 2 :(得分:0)
使用正则表达式\((\d})\)$
,它将字符串末尾的数字作为一个组。
答案 3 :(得分:0)
string testString = "This is a string (125)asbcd";
string[] stringPart = testString.Split('(', ')');
这里stringPart [0]是字符串部分,stringPart [1]是数字部分。