如何使用正则表达式从内联样式中删除样式元素?

use*_*760 -85 html javascript css c# regex

我试图float从内联样式中只删除一个属性及其值.我想从这开始:

<div id="first_line_info" style="width:490px; float:right;"> </div>
Run Code Online (Sandbox Code Playgroud)

并使它像这样:

<div id="first_line_info" style="width:490px"> </div>
Run Code Online (Sandbox Code Playgroud)

到目前为止,我尝试过这段代码:

Regex noInlineStylePattern = new Regex("style=\"[^\"]*\"", RegexOptions.IgnoreCase);
data = noInlineStylePattern.Replace(data, "");
Run Code Online (Sandbox Code Playgroud)

这将删除所有内联样式.我怎样才能移除浮子?

All*_*ice 13

这应该删除所有浮动:

data = Regex.Replace(data, @"(style=\"".*?)(float:\s*[^;\""]+;?)(.*?\"")", "$1$3", RegexOptions.IgnoreCase)
Run Code Online (Sandbox Code Playgroud)


Ole*_*leg 9

此代码删除样式元素中除第一个属性之外的所有属性

string test = @" <div id=""first_line_info"" style=""width:490px; float:right;""> </div>";

var result = Regex.Replace(test,"(style=\")(.*?;).*\"", new MatchEvaluator((m)=>
    {
        return m.Groups[1].Value + m.Groups[2].Value + @"""";
    }));
Run Code Online (Sandbox Code Playgroud)

此代码仅从样式元素中删除float属性:

var result2 = Regex.Replace(test, "(style=\".*?;).*(float:.*?;)\"", new MatchEvaluator((m) =>
    {
        return m.Groups[1].Value + @"""";
    }));
Run Code Online (Sandbox Code Playgroud)