【发布时间】:2019-07-13 10:54:56
【问题描述】:
我需要替换字符串中所有出现在非字母字符(数字、空格...等)之间或字符串开头或结尾的单词的 $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
【问题讨论】:
标签: java regex replaceall