2017-06-05 104 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); 
相关问题