【发布时间】:2019-05-17 14:47:45
【问题描述】:
只有当string 具有完全匹配时,我才需要替换。我该怎么做?
如果它匹配字符串的任何部分,它会替换字符串表达式。
string strExpression = "hey! Hello World. SpecialDayForMe";
strExpression = strExpression .Replace("SpecialDay", "ABC") ;
strExpression 的结果是"hey! Hello World. ABCForMe"。
我希望它仅在字符串中匹配 SpecialDay 而不是部分匹配时匹配。我该怎么做?
注意:如果我可以在不使用 REGEX 的情况下做到这一点,那就太好了。
【问题讨论】:
-
什么是完全匹配?是
Specialday;forMe还是special-day.ForMe? -
请明确澄清您的问题 - 谈论“完全匹配”听起来像是您在区分大小写不同的匹配等。“嘿!Hello World.SpecialDayForMe”确实包含 “特殊日子”。我相信你真的对它是否匹配一个完整的单词感兴趣。为此,您需要提出详细的要求。您希望连字符和其他标点符号如何表现?您是否有在您尝试匹配的令牌之前/之后允许的字符的精确列表?
-
有什么特别的原因你想在没有正则表达式的情况下这样做吗?我认为没有另一种方法不涉及自己进行一些解析,基本上是为此目的构建自己的小型正则表达式引擎。