如何刪除字符串中的註釋塊。這是我想要刪除的字符串的一部分。從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]
-->
如何刪除字符串中的註釋塊。這是我想要刪除的字符串的一部分。從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)(?<=<!--).+?(?=-->)", "")
在這些情況下,我會建議你使用外部的lib如的「HTML敏捷性包」 http://htmlagilitypack.codeplex.com/ 這是他們的CodePlex網站頁面上通過的NuGet & availble的,你會在houw找到代碼示例使用圖書館。
它將使您能夠在C#中加載html模型。通過這種方式,你可以抽出你不需要的東西,或者操縱某些標籤等等。甚至,比如你的情況,在html-doc中提取註釋。我沒有準確的代碼片段,但您可以使用此庫快速處理它。
自己這樣做,即使使用REGEX,也需要耗費大量的時間,並且一開始就會出錯。看看它是這樣的:不要重新發明輪子;)。
謝謝。這是一個很好的圖書館。但我認爲這對我的問題太過分了。我找到了一個更簡單的方法,併發布爲答案。 – Azade
好吧,我明白,對於有限的字符串,可以通過正則表達式來完成..我假設你有一大堆場景,你指出的只是一大堆樣本。在這種情況下,我猜的確實是正則表達式。 –
的你最好添加你做了什麼。 – herohuyongtao
我想找到一個正則表達式來刪除這段評論之間的內容。但到現在爲止我還沒有找到任何東西,它工作正常。 myString = Regex.Replace(myString,@「(?s)(?<= <! - )。+?(?= - >)」,「」).Trim(); – Azade