我原来的替换代码是。
rtTextArea.Rtf = rtTextArea.Rtf.Replace(oldtext, newtext);
但问题是它取代了所有单词的出现而不是所需的单词 例如原文: - 你好,我的名字是serak,我在以色列 replace() - 是整个单词chages to“serak and am in arereal”
无论如何,我可以包含一个条件或一些东西来匹配整个单词? 我的工作环境C#。
答案 0 :(得分:1)
使用Regular expressions。在此示例中,\b
表示单词边界。
var regExp = new System.Text.RegularExpressions.Regex(@"\bis\b");
rtTextArea.Rtf = regExp.Replace(rtTextArea.Rtf, "are");
答案 1 :(得分:0)
上一篇文章显示
var regExp = new System.Text.RegularExpressions.Regex(@“\ b”+ oldtext + @“\ b”); rtTextArea.Rtf = regExp.Replace(rtTextArea.Rtf,newtext);
这与第一篇文章略有不同。注意额外的b和@
这对我有用。
答案 2 :(得分:0)
使用RegEx这是正确的方法,但为了简洁起见,您还可以在要替换的单词前面添加/附加空格,以确保它不是另一个单词的一部分。
e.g。 wordToReplace = " " + wordToReplace + " ";