[英]C# string replace if exact match is found
仅在string
完全匹配时才需要替换。 我怎样才能做到这一点 ?
目前,如果它匹配字符串的任何部分 ,它将替换字符串表达式。
string strExpression = "hey! Hello World. SpecialDayForMe";
strExpression = strExpression .Replace("SpecialDay", "ABC") ;
strExpression
的结果是"hey! Hello World. ABCForMe"
。
我希望它仅在字符串中有SpecialDay
匹配而不是部分匹配SpecialDay
匹配。 我怎样才能做到这一点 ?
注意:如果我不使用REGEX就可以做到这一点,那就太好了。
替换整个单词时 ,请尝试使用正则表达式 (用\\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");
它与 “ Hello world。SpecialDay for me”以及“ SpecialDay ”和“ SpecialDay ” 匹配 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.