使用通配符替换字符串

托尔加(Tolga Evcimen)

我有一段HTML代码,我想抹掉一些样式部分,我知道我需要进行正则表达式,但是我不知道如何生成正则表达式,甚至不知道如何在我的C#代码中应用它。以下是原始字符串的示例:

<p style="color: #000000; text-transform: none; letter-spacing: normal; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; word-spacing: 0px; white-space: normal; font-size-adjust: none; font-stretch: normal; -webkit-text-stroke-width: 0px;">

这是我希望在执行替换操作后得到的输出:

<p> 

我想摆脱样式属性。我需要针对以下情况的所有情况进行此操作<p ...>

关于这类工作,有无数的例子,但我对此确实感到困惑。因此,有关解决方案的任何线索都是很好的。提前致谢。

杰瑞

您确实找到了正则表达式教程(示例)来学习匹配如何工作,然后替换将更容易...

string output = Regex.Replace(input, @"(?<=<p)[^>]+", "");

参见演示

要仅删除样式属性,您可以使用以下方法:

string output = Regex.Replace(input, @"(?<=<p)\s*style=""[^""]+""", "");

请注意,如果style属性紧接在<p(具有任意数量的空格)之后,则此方法将无效

更新了演示


要删除html中任何位置的属性样式,您可以使用(比上一个更安全):

string output = Regex.Replace(input, @"(?<=<p)([^>]*?)\s*style=""[^"">]+""", "$1");

重新更新了演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章