繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM