1

我有一个字符串:

<a href = "http://www.zigwheels.com/reviews/long-term-reviews/fiat-linea/8804-100-1/1">
  <img src="http://static.zigwheels.com/media/content/2011/Jul/fiatlinealt_1_560x420.jpg" />
</a> 
<p>
  To sum it up in a nutshell, the Fiat Linea is a spacious family car that 
  rewards you with its space and fuel efficiency, while maintaining 
  decent levels of performance as well
</p>

我只需要<p>标签中的文本。请帮助...我需要纯 vb 语言的 vb.net windows 应用程序。

4

2 回答 2

4

这取决于输入数据,但对于像这样的简单情况,您可以使用与标签之间的文本匹配的正则表达式。

Imports System.Text.RegularExpressions

Dim input As String = ... ' Your string
Dim match As Match = Regex.Match(input, "<p>(?<content>.*)</p>")
If match.Success Then
    Dim content As String = match.Groups("content").Value ' The text between <p> and </p>
End If

这当然不是解析 HTML 的解决方案,因为您需要一个 HTML 解析器。但它可用于匹配非常简单的字符串,例如您提供的字符串。如果您要匹配的字符串更复杂,或者您需要更复杂的匹配,那么您需要一个不同的解决方案。

于 2013-04-08T10:37:15.320 回答
1

您可以使用 HTML 敏捷包。这是一个例子

HtmlDocument htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml("Get the entire string here");
var xyz = from x in htmlDoc.DocumentNode.DescendantNodes()
                     where x.Name == "p"
                     select x.InnerText;

通过这种方式,您可以根据需要获取值。您可以从以下链接获得更多帮助。

http://htmlagilitypack.codeplex.com/

编辑 :: VB.NET

Dim htmlDoc As New HtmlDocument()
htmlDoc.LoadHtml("Get the entire string here")
Dim xyz = From x In htmlDoc.DocumentNode.DescendantNodes() Where x.Name = "p"x.InnerText
于 2013-04-08T11:29:50.810 回答