如何将每个单词替换一次

本文关键字:一次 替换 单词 | 更新日期: 2023-09-27 17:49:23

例如:"我是一个单词。请将我的字符更改为新的word">

我想把"word"换成"char",把"char"换成了"word">

结果:"我是一个字符。将我的单词更改为新的char">

这对我来说非常重要

所以谢谢。

如何将每个单词替换一次

您可以使用正则表达式来匹配这两个单词,以便在同一个调用中替换它们。这样可以避免多个替换相互干扰的问题:

str = Regex.Replace(str, "(char|word)", m => m.Groups[0].Value == "char" ? "word" : "char");

这可以很容易地扩展到任何数量的替代品,否则会发生冲突。也可以在正则表达式中添加'b代码,使其仅匹配整个单词(例如char中的a(。示例:

str = Regex.Replace(str, @"'b(a|char|word|new|my|to)'b", m => {
  string s = m.Groups[0].Value;
  return
    s == "a" ? "new" :
    s == "char" ? "word" :
    s == "word" ? "char" :
    s == "new" ? "a" :
    s == "my" ? "mine" :
    "with";
});

结果:

"I'm new char. change mine word with a char"

如果你有3个玻璃杯,第一个和最后一个玻璃杯装满了水,而另一个是空的,你如何将水从玻璃杯1换到玻璃杯3?你的问题也是这样。

首先将单词更改为to_replace(例如(,然后将char改为word,然后再次将1to_replace改成char