VB.NET有一个Substring
方法,它将起始索引和子字符串的长度作为参数。是否可以从一个索引中提取子串到另一个索引(而不是使用长度)?
例如,如果我有一个字符串"1 + 1 = 2"
,我想在+
和=
之间提取所有内容我希望能够做类似的事情:
string.Substring(string.IndexOf("+") + 1, string.IndexOf("=") - 1)
我不想使用长度的原因是因为我不确定+
和=
之间的数字是多少位数。
Regex是我唯一的选择还是我错过了一些简单的东西?
答案 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)