2017-06-05 46 views
-1

如果已經有一個這樣的問題,我將刪除它,但無法找到任何與我有問題相似的內容。我有一個字符串,比方說如何刪除字符串中的所有字符串和匹配的字符串

<blockquote> string here string here string here </blockquote>

(通常會更復雜一些,但爲了便於舉例,這是有效的。我想在<blockquote> </blockquote>內取出的一切,這是我做的相當成功地利用此正則表達式:

new Regex("(\\<blockquote)(.*?)(\\</blockquote\\>)"); 
string Result = x.Replace(Text, "$1" + repl + "$3"); 

這讓我的方式約90%,我想我的正則表達式不僅去除裏面有什麼,還引用文字本身

Here's一個TE。這就是我目前擁有的環境。我有一個例子串在了那裏,看起來像這樣:

Testing: h<sub>2</sub>0 40<sup>th</sup>.<br /> <br /> <div> <blockquote class=\"twitter-tweet\" data-lang=\"en\"><p lang=\"en\" dir=\"ltr\">Breaking: Thad Matta is out as Ohio State men&#39;s basketball coach after 13 seasons. <a href=\"{link_ommitted}\">pic.twitter.com/XhFreY9j2S</a></p>&mdash; SportsCenter (@SportsCenter) <a href=\"https://twitter.com/SportsCenter/status/871793341435965441\">June 5, 2017</a></blockquote> 

結果看起來是這樣的:

Testing: h<sub>2</sub>0 40<sup>th</sup>.<br /> <br /> <div> <blockquote</blockquote><br /> <br /> <blockquote</blockquote> </div>

這就像我說的,讓我的方式約90%。現在我可以輕鬆做到Result = Result.Replace("<blockquote</blockquote>", string.Empty),我會開始行動。但我想知道是否有一種方法可以在我的初始Regex.Replace方法中做到這一點,如上所示。

+0

您應該使用HTML解析器。 – SLaks

+0

嘗試刪除所有的外來詞,而不是外部詞,這應該取代整個匹配的字符串。 – imqqmi

回答

2

您正在讀取替換方法中的組1和組3。試試這個代替

string Result = x.Replace(Text, repl); 
相關問題