如何从括号中提取数字(字符串的结尾部分)?

时间:2013-11-07 05:45:10

标签: c# numbers extraction brackets

我的问题是从字符串中提取整数(在C#中)。有一个字符串,在最后的圆括号中可以有一个整数正数(没有前导零),例如“这是一个字符串(125)”。我想编写一个代码来验证它是否具有这样的形式,如果是,则从中提取数字和其余部分。例如,如果字符串是“This is a string(125)”,则结果应为“This is a string”(type:string)和125(integer)。如果字符串是“另一个例子(7)”,结果应该是“另一个例子”,并且7.正则表达式是有用的,还是我应该写一个解析函数?

4 个答案:

答案 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]是数字部分。