如何使用自定义函数获取括号内的字符串?
例如字符串“GREECE (+30)”应该只返回“+30”
有一些不同的方法。
纯字符串方法:
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
对于一般问题,我建议使用Regex
. 但是,如果您确定输入字符串的格式(只有一组括号,在关闭括号之前打开括号),这将起作用:
int startIndex = s.IndexOf('(') + 1;
string result = s.Substring(startIndex, s.LastIndexOf(')') - startIndex);
用正则表达式。
Dim result as String = System.Text.RegularExpressions.Regex.Match("GREECE (+30)", "\((?<Result>[^\)]*)\)").Groups["Result"].Value;
代码未经测试,但我希望只有编译问题。
您可以查看正则表达式,或者以其他方式使用该IndexOf()
函数
在 Python 中,使用字符串索引方法和切片:
>>> s = "GREECE(+30)"
>>> s[s.index('(')+1:s.index(')')]
'+30'