[英]How can i replace any word but one in a string using C# regex?
给定这样的字符串: Fixing this [HFW] takes alot of [HFW] time [HFW]
应该是这样的: [CW] [CW] [HFW] [CW] [CW] [CW] [HFW] [CW] [HFW]
除了标签[HFW]
之外,我需要用[CW]
替换任何单词。 我已经尝试了很多,我最好的是:
regex = new Regex(@"[^(\[HFW\])_]+");
cleanText = regex.Replace(cleanText, " [CW] ");
几乎可以用,但是我遗漏了第一个大写字母F,它是[HFW]
标签的一部分。 我的意思是, [HFW]
不会作为一个小组。
谢谢
我有一个有点……胡思乱想? 但这可以解决您的示例字符串的问题:
(?<!\[|F|\[F)\w+(?!W|\]|W\]\])
[^...]
的问题在于它没有查看字符\\[
, H
, F
, W
或\\]
的顺序。
可能比这更优雅的一种,我仍在尝试寻找。
另一个可能的:
\w+(?=\s)|(?<=\s)\w+
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.