正则表达式删除字符串中的内容

时间:2012-01-04 14:43:21

标签: asp.net regex c#-4.0

我有一个字符串如下:

4s: and in this <em>new</em>, 5s: <em>year</em> everybody try to make our planet clean and polution free. 

替换字符串:

4s: and in this <em>new</em>, <em>year</em> everybody try to make our planet clean and polution free. 

我想要的是,如果字符串有两个<em>标记,并且这两个<em>标记之间的差距只有一个单词,那么该单词的格式将为{{1} }(n是0到4个字符长的任何数值)。然后我想从该字符串中删除ns:。同时保持两个ns:之间的标点符号('?','。',',',)。

我也想补充说明。输入字符串在这两个<em>标记之间可能有也可能没有标点符号。

我的正则表达式如下

<em>

希望我的要求清楚。 我怎么能用正则表达式做到这一点?

2 个答案:

答案 0 :(得分:2)

不确定你需要什么,但是如何:

Regex.Replace(txtHighlight, @"</em>(.)\s*\d+s:\s*(.)<em", "</em>$1$2<em");

答案 1 :(得分:0)

如果您只想取出4s 5s位,您可以执行以下操作:

Regex.Replace(txtHighlight, @"\s\d\:", ""); 

这将匹配一个空格后跟一个数字后跟一个冒号。

如果那不是你想要的,我道歉。我希望它可能会有所帮助:)。