我需要替换字符串中所有出现的单词,当它位于非字母字符(数字、空格等)之间或字符串的开头或结尾时 $0。但是,当我使用 replaceAll 时,我的 Regex 模式似乎不起作用。
我尝试了几种在网上找到的解决方案,例如 Pattern.quote,但该模式似乎不起作用。但是,它在https://regexr.com/上完美运行
public static final String REPLACE_PATTERN = "(?<=^|[^A-Za-z])(%s)(?=[^A-Za-z]|$)";
String patternToReplace = String.format(REPLACE_PATTERN, "a");
inputString = inputString.replaceAll(Pattern.quote(patternToReplace), "$0");
例如,对于字符串和单词“a”:
a car4is a5car
我希望输出是:
$0 car4is $05car
汪汪一只猫
largeQ
喵喵时光机
SMILET
相关分类