Regex 正则表达式从元素中完全删除html属性

Regex 正则表达式从元素中完全删除html属性,regex,vb.net,Regex,Vb.net,我正在使用vb.net,我的数据库正在返回一个类似这样的字符串,其中包含一个非常长的title属性,我希望删除该属性: <img title="3497fh-39848f-04ghk38-483728_part1__book1_93822-3948329928" 试试这个Regex。。。有关此Regex的更多信息,请参阅 <?(title)="[^"]*" 只有在语法不正确且没有其他库可以处理的情况下,才应该使用正则表达式来处理HTML 使用(安装NuGet软件包),您可以轻松

我正在使用vb.net,我的数据库正在返回一个类似这样的字符串,其中包含一个非常长的title属性,我希望删除该属性:

<img title="3497fh-39848f-04ghk38-483728_part1__book1_93822-3948329928"

试试这个
Regex
。。。有关此
Regex
的更多信息,请参阅

 <?(title)="[^"]*"

只有在语法不正确且没有其他库可以处理的情况下,才应该使用正则表达式来处理HTML

使用(安装NuGet软件包),您可以轻松获得所有
a
标记,并从中删除
title
属性,如下所示:

Dim s = "<img title=""3497fh-39848f-04ghk38-483728_part1__book1_93822-3948329928"">"
Dim doc As HtmlDocument = New HtmlDocument()
doc.LoadHtml(s)
RemoveAttributeFromTag(doc, "title")
Debug.Print(doc.DocumentNode.OuterHtml)
这将打印

最后解决办法是

Private Sub RemoveAttributeFromTag(html As HtmlDocument, AttName As String)
    Dim elements = html.DocumentNode.SelectNodes("//@" + AttName)
    For Each element In elements
        element.Attributes.Remove(AttName)
    Next
End Sub

Regex.Replace(str,”(?你确定不想使用HTML解析器来解析HTML?@Ryan我实际上已经安装了它。这会使删除title属性更容易吗?谢谢你想删除title标记及其之间的所有内容?@Zaggler是的,我希望它只是没有title属性的标记。

Private Sub RemoveAttributeFromTag(html As HtmlDocument, AttName As String)
    Dim elements = html.DocumentNode.SelectNodes("//@" + AttName)
    For Each element In elements
        element.Attributes.Remove(AttName)
    Next
End Sub
Regex.Replace(str, "(?<=<[_a-zA-Z][^<]*?)\s+style=""[^""]*""", "")