一尘不染

拥有String.Replace的方式只打“整个单词”

c#

我需要一种方法来做到这一点:

"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#是我的常规语言,因此使用两种方法都可以。


阅读 241

收藏
2020-05-19

共1个答案

一尘不染

正则表达式是最简单的方法:

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

Regex.Replace(input, pattern, replace, RegexOptions.IgnoreCase);
2020-05-19