仅当string
完全匹配时,才需要替换。我该怎么办?
目前,如果匹配字符串的任何部分,它将替换字符串表达式。
string strExpression = "hey! Hello World. SpecialDayForMe";
strExpression = strExpression .Replace("SpecialDay", "ABC") ;
strExpression
的结果为"hey! Hello World. ABCForMe"
。
仅在字符串中有SpecialDay
匹配而不是部分匹配的情况下,才希望它匹配什么。我该怎么办?
注意:如果我不使用REGEX就能做到这一点,那就太好了。
答案 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 ”。