将子字符串从一个索引提取到另一个索引

时间:2015-10-06 15:44:43

标签: vb.net substring

VB.NET有一个Substring方法,它将起始索引和子字符串的长度作为参数。是否可以从一个索引中提取子串到另一个索引(而不是使用长度)?

例如,如果我有一个字符串"1 + 1 = 2",我想在+=之间提取所有内容我希望能够做类似的事情:

string.Substring(string.IndexOf("+") + 1, string.IndexOf("=") - 1)

我不想使用长度的原因是因为我不确定+=之间的数字是多少位数。

Regex是我唯一的选择还是我错过了一些简单的东西?

1 个答案:

答案 0 :(得分:1)

你有所有的部分来计算你想要的子串的长度。你知道两个终点在哪里。由此,您可以计算出需要采取的字符数。

Dim Value = "1 + 1 = 2"
Dim Start = Value.IndexOf("+") + 1 '3 in this example
Dim Last = Value.IndexOf("=") - 1 '5 in this example
Dim Length = Last - Start + 1 '5 - 3 + 1 = 3
Dim Result = Value.SubString(Start, Length)