0

如何使用自定义函数获取括号内的字符串?

例如字符串“GREECE (+30)”应该只返回“+30”

4

5 回答 5

5

有一些不同的方法。

纯字符串方法:

Dim left As Integer = str.IndexOf('(')
Dim right As Integer= str.IndexOf(')')
Dim content As String = str.Substring(left + 1, right - left - 1)

正则表达式:

Dim content As String = Regex.Match(str, "\((.+?)\)").Groups[1].Value
于 2009-07-04T17:43:07.227 回答
3

对于一般问题,我建议使用Regex. 但是,如果您确定输入字符串的格式(只有一组括号,在关闭括号之前打开括号),这将起作用:

int startIndex = s.IndexOf('(') + 1;
string result = s.Substring(startIndex, s.LastIndexOf(')') - startIndex);
于 2009-07-04T17:41:22.347 回答
1

正则表达式

Dim result as String = System.Text.RegularExpressions.Regex.Match("GREECE (+30)", "\((?<Result>[^\)]*)\)").Groups["Result"].Value;

代码未经测试,但我希望只有编译问题。

于 2009-07-04T17:44:27.257 回答
0

您可以查看正则表达式,或者以其他方式使用该IndexOf()函数

于 2009-07-04T17:41:52.830 回答
0

在 Python 中,使用字符串索引方法和切片:

>>> s = "GREECE(+30)"
>>> s[s.index('(')+1:s.index(')')]
'+30'
于 2009-07-04T18:08:00.743 回答