从html链接中提取标题

时间:2016-11-23 19:50:11

标签: regex vb.net

我有以下HTML字符串:

<a href="/tothepage" title="the page">The Link</a>.  

如何轻松地从HTML代码段中提取标题?无论是正则表达式还是其他VB.NET解决方案都是首选,但C#还可以。

我希望'页面'不是链接文本:我想要title属性的值。

我已经安装了HTMLAgilityPack,如果它很容易做到的话。

2 个答案:

答案 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();
    }