我有以下HTML字符串:
<a href="/tothepage" title="the page">The Link</a>.
如何轻松地从HTML代码段中提取标题?无论是正则表达式还是其他VB.NET解决方案都是首选,但C#还可以。
我希望'页面'不是链接文本:我想要title属性的值。
我已经安装了HTMLAgilityPack,如果它很容易做到的话。
答案 0 :(得分:2)
由于您已经拥有HtmlAgilityPack,您可以像这样提取“title”属性:
print((list[0].get())
当然,您不需要那么多行代码,因为这是一个完整的工作示例。
如果Option Infer On
Option Strict On
Imports HtmlAgilityPack
Module Module1
Sub Main()
Dim a = "<a href=""/tothepage"" title=""the page"">The Link</a>."
Dim doc As New HtmlDocument()
doc.LoadHtml(a)
Dim node = doc.DocumentNode.SelectSingleNode("/a")
Dim title = node?.Attributes("title")?.Value
Console.WriteLine(title) ' outputs "the page"
Console.ReadLine()
End Sub
End Module
为Nothing(在这种情况下,如果没有“&lt; a&gt;”元素),则?.
部分会阻止它抛出错误,并防止它抛出错误没有“标题”属性。
答案 1 :(得分:1)
使用正则表达式,该组将包含([^"]*)
:
title="([^"]*)"
C#
using System.Text.RegularExpressions;
static void Main(string[] args)
{
string originalString = "<a href=\" / tothepage\" title=\"the page\">The Link</a>.";
Regex rgx = new Regex("title=\"([^\"]*)\"", RegexOptions.IgnoreCase);
Match match = rgx.Matches(originalString)[0];
Console.WriteLine(match.Groups[1]);
Console.ReadLine();
}