【问题标题】:String range in VB.NET with multiple occurrencesVB.NET 中多次出现的字符串范围
【发布时间】:2012-05-14 11:51:57
【问题描述】:

我正在尝试在 VB 中完成一些我每天都在 JavaScript 中做的相当简单的事情。

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

样本数据:

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

如果我想在 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 中的第一次出现,相比之下,代码看起来很荒谬......我什至不想弄清楚第二次出现,直到我发现这是我唯一的解决方案。谢谢

【问题讨论】:

    标签: vb.net string split substring indexof


    【解决方案1】:

    您可以在 VB 中使用字符串上的“Split”方法来做同样的事情。

        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)
    

    【讨论】:

    • 在您的回复之后,我对其进行了深入研究……结果证明您是正确的 :) 我在尝试使用 indexOf/Substring 时使用了错误的“Split”函数。解决方案:Regex.Split(string, "")(1).Split("")(0)
    • 在这里查看我的新问题:stackoverflow.com/questions/10458032/…
    猜你喜欢
    • 1970-01-01
    • 2015-08-28
    • 2012-06-23
    • 2012-12-26
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    • 2022-11-10
    相关资源
    最近更新 更多