我需要替换文本中的一些词,但我需要在替换策略中加入条件,如下所示:
我想用word2替换word1:
String word1 = "word1";
String word2 = "word2";
但是如果 word1 前面有 word3,我不想替换 word1,它是:
String word3 = "word3."; //with the dot at the ending
也就是说,如果文本是 word3.word1 我不想碰它。
但我似乎无法使用 String 的 replaceAll
方法处理单词边界。
编辑:
而且如果 word1 具有前缀或后缀“-”字符,即 -word1 或 word1- 我也不想更改 或 -word1-
任何帮助都将不胜感激。
最佳答案
使用负后视的正则表达式:(?<!word3\\.)word1
关于java - 如何使用 String 的 replaceAll 在某些字符前面不替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9803285/