目标字符串为“A + A_RT + B*A+AA”
。我想用 B
替换 A
,用 A
替换 B
。但我不想将 A_RT
替换为 B_RT
或将 AA
替换为 BB
。预期结果为“B + A_RT + A*B+AA”
。我怎样才能在 C# 中做到这一点?谢谢。
目前我使用以下代码,但它将把 A_RT
替换为 B_RT
...
IDictionary<string, string> map = new Dictionary<string, string>()
{
{"A","B"},
{"B","A"},
};
string str = "A + A_RT + B*A+AA";
var regex = new Regex(String.Join("|", map.Keys));
var newStr = regex.Replace(str, m => map[m.Value]);
最佳答案
我将正则表达式更改为 var regex = new Regex(@"\bA\b|\bB\b")
,然后它就可以工作了。
关于c# - 正则表达式组字符串替换问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12851433/