如何解决正则表达式替换指定的文本
| 我想替换文本中的某些单词,但只能在某些条件下替换,例如,如果每个单词都被空白包围。 为此,我使用:Regex rx = Regex(@\"\\s+\" + word + @\"\\s+\");
str = rx.Replace(str,word2);
最后,我也替换了空间(以及所有其他指定的环境)。如何绕开呢?
解决方法
您可以使用
\\b
锚来匹配\\w
(字母数字)和\\W
(非字母数字)字符之间的边界。
Debug.Assert(Regex.Match(word,\"^\\w+$\").Success);
string result = Regex.Replace(input,@\"\\b\" + word + @\"\\b\",word2);
, str = Regex.Replace(str,@\"(?<first>\\s+)\" + word + @\"(?<last>\\s+)\",\"${first}\" + word2 + \"${last}\");
, 对于您描述的模式,正则表达式对我来说看起来不错。我使用Expresso来帮助验证我的正则表达式模式。还有RegExr,在线工具
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。