在一个字符串中,我试图用不同的值更新同一单词的多个实例。用一个唯一值替换字符串中的每个单词的实例
这是一个过于简单的例子,但鉴于以下字符串:
"The first car I saw was color, the second car was color and the third car was color"
字的颜色我想用“红”,二审应该是“绿色”和更换的第一个实例第三例应该是“蓝色”。
我想要尝试的是寻找绑定单词的正则表达式模式,通过循环进行交互并逐个替换它们。请参阅下面的示例代码。
var colors = new List<string>{ "reg", "green", "blue" };
var sentence = "The first car I saw was color, the second car was color and the third car was color";
foreach(var color in colors)
{
var regex = new Regex("(\b[color]+\b)");
sentence = regex.Replace(sentence, color, 1);
}
但是,“颜色”一词永远不会被替换为适当的颜色名称。我找不到我做错了什么。
这个伎俩。 –
这是一个可爱的代表,我发现你对'regex'标签并不陌生。 :) – zx81
@ zx81:谢谢!是的,根据我的经验,大多数人甚至没有意识到.NET Regex库支持匹配委托。尽管我更喜欢使用regex作为语法而不是API,比如Perl。这是我用可乐实际做的,尽管我还没有决定如何将正则表达式委托语法映射到语法。 – codenheim