【问题标题】:Is there a more efficient way to find the index of the end of a substring?有没有更有效的方法来查找子字符串结尾的索引?
【发布时间】:2019-11-30 00:33:15
【问题描述】:

我正在读取一个 XML 标记以尝试从中提取一个值:

<lsource xml:lang="por">

我想提取三个字母的代码por。标签中可能还有其他属性,所以我目前的做法是找到子串xml:lang=的索引,然后在上面加上11。它工作得很好,我只是想知道是否有另一个更直观或更有效的解决方案。

代码:

If initialTag.Contains("xml:lang") Then
    Dim langCodePos As Integer = line.IndexOf("xml:lang=") + 11
    lsource.LanguageCode = Mid(line, langCodePos, 3)
End If

【问题讨论】:

  • lsource.LanguageCode = XElement.Parse(initialTag).@xml:lang?
  • 完美,魅力无穷!如果您将其作为答案发布,我可以接受:)
  • 其实我don't think你应该使用这个孤立的代码行。相反,首先将 XML 处理为 XML,而不是将其或其中的一部分解析为字符串。
  • 我可以,但我不知道如何解析 XML,所以我已经制作了一个解析器,它可以简单地读取标签并执行很多 Select Cases。我必须学习如何解析 XML 并重做整个事情,而这个解决方案目前有效。

标签: vb.net substring console-application text-extraction


【解决方案1】:
Dim xml = XDocument.Load("xml.xml")
MsgBox(xml.<tag>.<tag2>.<lsource>(0).FirstAttribute.Value)

您必须明确所有标签...我不确定您要查找的内容...告诉我

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-16
    • 1970-01-01
    • 2013-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多