Vb.net 拆分并查找特定文本?
好的,我已经提出了一个HTTPWEBREQUEST,我已经在richtextbox中显示了结果的来源,现在假设我在richtextbox中有这个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都会不
<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,但这是不言而喻的。)