如果找到完全匹配的C#字符串,请替换

时间:2018-12-17 08:58:21

标签: c# string

仅当string完全匹配时,才需要替换。我该怎么办?

目前,如果匹配字符串的任何部分,它将替换字符串表达式。

string strExpression  = "hey! Hello World. SpecialDayForMe";

strExpression = strExpression .Replace("SpecialDay", "ABC") ;

strExpression的结果为"hey! Hello World. ABCForMe"

仅在字符串中有SpecialDay匹配而不是部分匹配的情况下,才希望它匹配什么。我该怎么办?

注意:如果我不使用REGEX就能做到这一点,那就太好了。

1 个答案:

答案 0 :(得分:5)

当替换整个单词时,请尝试使用正则表达式\b标记单词的边界):

 using System.Text.RegularExpressions;

 ...

 string strExpression  = "hey! Hello World. SpecialDayForMe";
 string toFind = "SpecialDay";

 strExpression = Regex.Replace(
   strExpression, 
  @"\b" + Regex.Escape(toFind) + @"\b", // Regex.Escape to be on the safe side
   "ABC");

It matches“您好,世界。 SpecialDay 对我来说”以及“ SpecialDay ”和“ SpecialDay ”。