我如何使用c#正则表达式替换字符串中的任何单词
本文关键字:任何单 字符串 替换 何使用 正则表达式 | 更新日期: 2023-09-27 18:13:24
给定如下字符串: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]
作为一个组。
谢谢
我有一个有点…脾气暴躁吗?但是对于您的示例字符串,它确实奏效了:
(?<!'[|F|'[F)'w+(?!W|']|W']'])
[^...]
的问题是它不查看字符'[
, H
, F
, W
或']
的顺序。
可能有一个比这个更优雅的,我还在努力寻找它。
另一个可能的:
'w+(?='s)|(?<='s)'w+