Vb.net 拆分并查找特定文本?

Vb.net 拆分并查找特定文本?,vb.net,Vb.net,好的,我已经提出了一个HTTPWEBREQUEST,我已经在richtextbox中显示了结果的来源,现在假设我在richtextbox中有这个 <p>Short URL: <code><a href="http://URL.me/u/eywnp">http://URL.me/u/eywnp</a></code></p> 短URL: 如果我试过分手,但没有成功,我想我做错了 请注意,每当拆分工具不适合作业时,URL都会不

好的,我已经提出了一个HTTPWEBREQUEST,我已经在richtextbox中显示了结果的来源,现在假设我在richtextbox中有这个

<p>Short URL: <code><a href="http://URL.me/u/eywnp">http://URL.me/u/eywnp</a></code></p>
短URL:

如果我试过分手,但没有成功,我想我做错了


请注意,每当拆分工具不适合作业时,URL都会不同。这将导致一段相当复杂的代码,非常脆弱(这意味着只要输入有一点点变化,它就会崩溃)

对于一个健壮、编写良好的解决方案,您需要正确解析HTML。幸运的是,有现成的解决方案:

这里唯一复杂的部分是字符串
“//a[@href]”
。这是一根绳子。XPath字符串是一种小型语言,用于处理HTML或XML文档中的元素。它们在概念上类似于文件路径(如
C:\Users\foo\Documents\file.txt
),但语法略有不同


XPath只是从文档中选择具有
href
属性的所有
元素。然后,您可以获取该集合的第一个集合,并检索
href
属性的值。

拆分
不是适合该作业的工具。这将导致一段相当复杂的代码,非常脆弱(这意味着只要输入有一点点变化,它就会崩溃)

对于一个健壮、编写良好的解决方案,您需要正确解析HTML。幸运的是,有现成的解决方案:

这里唯一复杂的部分是字符串
“//a[@href]”
。这是一根绳子。XPath字符串是一种小型语言,用于处理HTML或XML文档中的元素。它们在概念上类似于文件路径(如
C:\Users\foo\Documents\file.txt
),但语法略有不同


XPath只是从文档中选择具有
href
属性的所有
元素。然后,您可以获取该集合的第一个集合并检索
href
属性的值。

感谢您的帮助,我找到了解决方案,并使用了

 Dim iStartIndex, iEndIndex As Integer
        With RichTextBox1.Text
            iStartIndex = .IndexOf("<p>Short URL: <code><a href=") + 29
            iEndIndex = .IndexOf(""">", iStartIndex)
            Clipboard.SetText(.Substring(iStartIndex, iEndIndex - iStartIndex))

        End With
Dim iStartIndex,iEndIndex为整数
使用RichTextBox1.Text
iStartIndex=.IndexOf(“短URL:
”,iStartIndex)
剪贴板.SetText(.Substring(iStartIndex,iEndIndex-iStartIndex))
以

到目前为止效果非常好

感谢您的帮助,我确实找到了解决方案,并使用了

 Dim iStartIndex, iEndIndex As Integer
        With RichTextBox1.Text
            iStartIndex = .IndexOf("<p>Short URL: <code><a href=") + 29
            iEndIndex = .IndexOf(""">", iStartIndex)
            Clipboard.SetText(.Substring(iStartIndex, iEndIndex - iStartIndex))

        End With
Dim iStartIndex,iEndIndex为整数
使用RichTextBox1.Text
iStartIndex=.IndexOf(“短URL:
”,iStartIndex)
剪贴板.SetText(.Substring(iStartIndex,iEndIndex-iStartIndex))
以

到目前为止,MsgBox(Split(RichTextBox1.Text,短URL:
))工作得非常好(Split(RichTextBox1.Text,短URL:
))请参阅我的回复,了解这是一个坏主意的原因。+1用于共享您的解决方案(只要输入确实没有改变就可以)。(+1对于Konrad也是如此,但这是不言而喻的。)请参阅我的回答,了解这是一个坏主意的原因。+1用于共享您的解决方案(只要输入确实没有变化,这是很好的)。(康拉德也是+1,但这是不言而喻的。)