如何使用C#正则表达式替换字符串中的任何单词?

时间:2013-05-13 17:17:24

标签: c# regex match

给出这样的字符串: Fixing this [HFW] takes alot of [HFW] time [HFW]

应该是这样的: [CW] [CW] [HFW] [CW] [CW] [CW] [HFW] [CW] [HFW]

除标签[CW]外,我需要用[HFW]替换任何字词。 我一直在尝试这个,我得到的最好的是:

regex = new Regex(@"[^(\[HFW\])_]+");
cleanText = regex.Replace(cleanText, " [CW] ");

这几乎可行,但我得到了第一个资本F,它是[HFW]标记的一部分。我的意思是,它不会将[HFW]作为一个群体。

谢谢

1 个答案:

答案 0 :(得分:2)

我有一个有点......胡思乱想?但它可以为您的示例字符串提供技巧:

(?<!\[|F|\[F)\w+(?!W|\]|W\]\])

[^...]的问题在于它没有查看字符\[HFW或{{的顺序1}}。

可能比这更优雅,我仍在努力寻找它。

另一个可能的:

\]