.net - VB.net:提取并替换 HTML 的所有实例

标签 .net regex vb.net replace

我正在我们的一个遗留系统中从格式良好的 HTML 中操作/提取数据。我需要使用正则表达式来解析 HTML、查找某些模式、提取数据并返回一些修改后的 HTML。我知道正则表达式和 HTML 永远不是答案,但鉴于我确切地知道数据来自哪里并且数据结构正确,我相信这将适用于特定情况。

我正在使用的 HTML 具有以下模式:

<i>Name1</i>: Some text goes here<br/>
<i>Name2</i>: Some different text goes here<br/>
<i>Name3</i>: Some other different text goes here<br/>

我需要将 HTML 更改为以下内容:

<i>Name1</i><p>Some text goes here</p>
<i>Name2</i><p>Some different text goes here</p>
<i>Name3</i><p>Some other different text goes here</p>

基本上,我想获取内部文本,将其包装在 p 标记中,然后删除尾随的 br。

我想做如下的事情:

Dim HTML as String = [The HTML goes here]
html = Regex.Replace(html, "</i>:(.+?)<br\s*\/?>", "</i><p>(.+?)</p>", RegexOptions.Multiline)

但它显然不起作用。

在 VB.net 中,如何用新的 HTML 替换所有所需的 HTML 实例?

最佳答案

我建议使用HTML Agility Pack解析和操作 HTML(特别是如果 HTML 的格式不规则)。源下载附带了一堆示例项目,因此您可以了解如何使用它。

一般Regex is not a good solution for parsing HTML .

关于.net - VB.net:提取并替换 HTML 的所有实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13569182/

相关文章:

c# - BitConverter.ToString() 与 Convert.ToBase64String()

c# - Linq 结果 Int 错误 : Specified cast is not valid

javascript - Javascript 电子邮件中的正则表达式验证

wpf - 如何在 WPF 中使用 Windows 身份验证?

c# - WCF Web 服务调用超时

c# - .NET Remoting - 服务器如何更新客户端?

python - 打开一个文件,读取内容,使用正则表达式将内容制成列表,然后在 python 中打印列表

java - 从java中的一行匹配多个关键字

c# - 从日期 vb.net 计算耗时?

c# - 如何从 JToken 填充现有对象(使用 Newtonsoft.Json)?