我需要一种方法来做到这一点:
"test, and test but not testing. But yes to test".Replace("test", "text")
返回此:
"text, and text but not testing. But yes to text"
基本上我想替换整个单词,而不是部分匹配。
注意:为此,我将不得不使用VB(SSRS 2008代码),但是C#是我的常规语言,因此使用两种方法都可以。
正则表达式是最简单的方法:
string input = "test, and test but not testing. But yes to test"; string pattern = @"\btest\b"; string replace = "text"; string result = Regex.Replace(input, pattern, replace); Console.WriteLine(result);
模式的重要部分是\b元字符,它在单词边界上匹配。如果您需要不区分大小写,请使用RegexOptions.IgnoreCase:
\b
RegexOptions.IgnoreCase
Regex.Replace(input, pattern, replace, RegexOptions.IgnoreCase);