[英]Remove comment block <!— --> from string in C#
如何删除字符串中的注释块。 这是我要移除的字符串的一部分。
<!--
[if !mso]> <style> v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} </style> <![endif]
-->
我找到了一个正则表达式来删除这种评论块
myString = Regex.Replace(myString , @"(?s)(?<=<!--).+?(?=-->)", "")
很简单,只需查找评论开始的位置(使用<!--
)和结束位置( -->
)。 然后在范围内删除它们。
在这些情况下,我建议你使用一个外部库,如“Html Agility Pack” http://htmlagilitypack.codeplex.com/它可以通过NuGet获得&在他们的codeplex页面上你可以在houw上找到代码示例来使用图书馆。
它将使您能够在C#中加载html模型。 通过这种方式,你可以提取你不需要的东西,或者操纵某些标签等等。甚至,例如在你的情况下,在html-doc中提取注释。 我没有针对您的案例的确切代码段,但您可以使用此库非常快速地完成它。
即使使用REGEX,自己这样做也会花费大量时间来实现,并且最初会出错。 看看它是这样的:不要重新发明轮子;)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.