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