繁体   English   中英

如何删除字符串中的所有字符串以及匹配的字符串

[英]How to remove all strings inside a string AND the matching string

如果对此有疑问,我将其删除,但找不到与我所遇到的问题完全相同的东西。 我有一个绳子,可以说

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

(通常会稍微复杂一些,但是为了简单起见,这是有效的。我想删除<blockquote> </blockquote>内的所有内容,我使用此正则表达式非常成功地做到了这一点:

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

这使我获得了大约90%的收益。 我希望我的Regex不仅删除其中的内容,而且还要删除blockquotes本身。

是我目前拥有的测试环境。 我在其中有一个示例字符串,看起来像这样:

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方法中做到这一点,如上所示。

您正在读取替换方法中的第1组和第3组。 试试这个

string Result = x.Replace(Text, repl);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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