【问题标题】:String range alternative in vb.netvb.net中的字符串范围替代
【发布时间】:2012-03-23 13:02:51
【问题描述】:

vb.net 2.0中是否有类似string range的功能??

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

例如。

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" 的索引。我正在寻找一种方法来获取包含在这两个字符串或索引之间的文本。

谢谢

【问题讨论】:

    标签: vb.net string .net-2.0 substring


    【解决方案1】:

    好吧,String.Substring 有什么问题?它适用于索引,因此如果您想查找由两个单词分隔的文本,您首先需要使用 String.IndexOf 找到它们各自的索引。

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

    (请注意,To 是保留字,因此我需要将标识符放在方括号中……或使用其他标识符。;-))

    【讨论】:

    • 我认为他只是在询问 VB.Net 中的函数名称。是的,他正在寻找的功能是Substring
    • @squelos 可能虽然问题是 标记 [substring] 所以我认为 OP 知道该方法。
    • @squelos 我知道 substring 函数.. 我只是想看看有没有我提到的那个函数的替代函数
    【解决方案2】:

    假设您的结束索引位于“myText2”的末尾,那么您可以这样做...

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

    否则只需将“myText2”的长度添加到 intEndIndex。

    【讨论】:

    • 使用Mid 比使用Substring 没有任何优势。 Mid 仅出于向后兼容性的原因而存在,并不适用于所有平台(Compact Framework ...)。
    猜你喜欢
    • 2012-05-14
    • 2012-12-05
    • 2012-08-21
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 2011-05-18
    • 2012-09-16
    • 1970-01-01
    相关资源
    最近更新 更多