我想将字符串"S/“更改为”S/“。我用Pattern.compile和Matcher.quoteReplacement试过了。我没有找到解决方案。
public static void main(String[] args) {
String cadena = "Moneda Actual : S/";
cadena = cadena.replaceAll("\\bS/\\b", "S/.");
System.out.println(cadena);
}
此代码打印:
Moneda实际: S/
我想打印:
Moneda : S/。
因此,如果原始文本是"Moneda Actual : S/."
,则算法不能替换为"S/.."
发布于 2018-07-28 06:16:00
用消极的眼光看未来:
cadena = cadena.replaceAll("\\bS/(?!\\.)", "S/.");
负向先行断言(不消耗)下一个字符不是点。
当字符串末尾出现"S/"
时,这也会起作用。
--
在斜杠之后和点之前没有单词边界。单词边界位于“单词”字符(字母、数字和下划线)和非“单词”字符之间。不能在空格和非空格之间。
https://stackoverflow.com/questions/51565987
复制相似问题