2012-03-23 180 views
0

vb.net 2.0有没有类似于string range的任何函数?vb.net中的字符串范围替代

我试图在这里实现的是从一个未知长度的字符串中提取一些文本。

例如。

given string = text text text mytext1 text text text text mytext2 text text text text 
expected string = mytext1 text text text text mytext2 

所以,我对于"mytext1""mytext2"索引。我正在寻找一种方法来获取包含在这两个字符串或索引之间的文本。

感谢

回答

2

嘛,这有什么错String.Substring?它适用于指数,所以如果你想找到由两个单词分隔的文本,你首先需要使用String.IndexOf找到它们各自的指数。

Dim from = given.IndexOf("mytext1") 
Dim [to] = given.IndexOf("mytext2") 
Dim result = given.Substring(from, [to] - from + "mytext2".Length) 

(注意To是一个保留字,所以我需要把标识在方括号...或使用其他标识符。;-))

+0

我想他只是要求在VB.Net中的函数的名称。是的,他正在寻找的功能是'Substring' – squelos 2012-03-23 13:11:41

+0

@squelos尽管问题是* tagged ['substring]',所以我认为OP知道这个方法。 – 2012-03-23 13:12:47

+0

@squelos我知道的**子串**功能..我只是看有没有其他的功能,我提到的问题 – 2012-03-23 13:14:02

0

假设你结束索引是在结束“ myText2" 那么你可以做到这一点...

Dim strExpectedString = Mid(strGivenString, intStartIndex, (intEndIndex - intStartIndex)) 

否则只是增加的长度‘myText2’到intEndIndex。

+0

没有任何优势,所有使用'中间'以上'子串'。 'Mid'仅出于向下兼容性的原因而存在,并且不适用于所有平台(Compact Framework ...)。 – 2012-03-23 13:16:02