我实际上正在编写程序,我想手动复制并粘贴网页源代码,程序应该找到源代码的某个部分并将其从字符串的其余部分中删除。
我找不到如何从文本的其余部分中删除它的方法。
所以我有一个像这样的字符串:
"<b>abcdefgh qwertzuiop thepartineedtocut</b>abcdefght mnbvcxy"
我需要得到:
"thepartineedtocut"
问题在于它并不总是相同的单词,但它周围的单词不会改变。我希望你能理解我。 谢谢。 祝你有愉快的一天。
答案 0 :(得分:1)
我会使用HtmlAgilityPack
来解析html,但也许这种天真的方法就足够了:
如果规则是:&#34; <b>
中的最后一个字符串是什么... </b>
&#34;:
Dim myString = "<b>abcdefgh qwertzuiop thepartineedtocut</b>abcdefght mnbvcxy"
Dim result As String = Nothing
Dim bTokenStart = myString.IndexOf("<b>", StringComparison.OrdinalIgnoreCase)
If bTokenStart >= 0 Then
bTokenStart += "<b>".Length
Dim bTokenEnd = myString.IndexOf("</b>", bTokenStart, StringComparison.OrdinalIgnoreCase)
If bTokenEnd >= 0 Then
Dim bToken = myString.Substring(bTokenStart, bTokenEnd - bTokenStart)
result = bToken.Split({" "}, StringSplitOptions.RemoveEmptyEntries).Last() ' thepartineedtocut
End If
End If
答案 1 :(得分:1)
您可以使用正则表达式:
Dim input As String = "<b>abcdefgh qwertzuiop thepartineedtocut</b>abcdefght mnbvcxy"
Dim re As New System.Text.RegularExpressions.Regex("(\w+)</b>")
Console.WriteLine(re.Match(input).Groups(1).Value) 'outputs: thepartineedtocut
此处的规则是:在结束</b>
标记之前找到一个单词。
答案 2 :(得分:0)
答案 3 :(得分:0)
如果文字永远不会改变,那么:
Dim input As String = "<b>abcdefgh qwertzuiop thepartineedtocut</b>abcdefght mnbvcxy"
input = input.replace("<b>abcdefgh qwertzuiop ","").replace("</b>abcdefght mnbvcxy","")