VB.NET中的字符串范围,多次出现

时间:2012-05-04 23:11:24

标签: vb.net string split substring indexof

我试图在VB中完成一些相当简单的事情,我每天都在使用JavaScript。

我需要在两个字符串(主要是HTML标记)之间解析多次出现的文本。

示例数据:

<tag>test</tag>
<tag>test2</tag>
<tag>test3</tag>

如果我想抓取第二个&lt; tag&gt;中的数据在JavaScript中我会这样做:

var result = string.split('<tag>')[2].split('</tag>')[0];

我似乎唯一能让它在VB中工作的方式就像这样......

Dim from = string.IndexOf("<tag>")
Dim [to] = string.IndexOf("</tag>", from)
Dim result = string.Substring(from + "<tag>".Length, [to] - from - "<tag>".Length)

请注意,这只是VB中的第一次出现而且代码看起来比较荒谬......我甚至不想弄清楚第二次出现,直到我发现这是我唯一的解决方案。感谢

1 个答案:

答案 0 :(得分:2)

你可以使用String上的'Split'方法在VB中做同样的事情。

    Dim sx As String = "<tag>test</tag> <tag>test2</tag> <tag>test3</tag> "
    Dim sp As String = sx.Split(New [String]() {"<tag>"}, StringSplitOptions.RemoveEmptyEntries)(1).Split(New [String]() {"</tag>"}, StringSplitOptions.RemoveEmptyEntries)(0)