繁体   English   中英

从C#中的字符串中删除注释块<! - - >

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM