如果已经有问题我会删除它,但找不到与我的问题相似的任何内容。我有一个字符串,让我们说
<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一个测试环境,它具有我目前所拥有的。我有一个示例字符串,如下所示:
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's basketball coach after 13 seasons. <a href=\"{link_ommitted}\">pic.twitter.com/XhFreY9j2S</a></p>— 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 :(得分:2)
您正在读取替换方法中的第1组和第3组。试试这个
string Result = x.Replace(Text, repl);