字符串子串函数

时间:2009-07-04 17:38:17

标签: vb.net substring

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

e.x。字符串“GREECE(+30)”应仅返回“+30”

5 个答案:

答案 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)

使用regular expressions

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'