我正在尝试创建一个单词过滤器,用户可以在其中将某些单词替换为其他单词。但是,显然有些东西我不希望它过滤(例如,与其他词分开的词)。
到目前为止,我有这个:
msg = msg.replaceAll("(?i)\\b[^\\w -]*"+original+"[^\\w -]*\\b", replacement);
在大多数情况下,它的效果相对较好。但是,有一个小故障。
当我用“r”替换“m”时,它也会用“I'm”之类的词替换“m”——这意味着它变成了“I'r”,这显然是一个错误。
我希望你明白我的意思。帮助?