replaceAll 或正则表达式 java 正斜杠

replaceAll or regex java forward slash

我只想将字符串 "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 Actual : S/

我要打印:

Moneda Actual : S/.

所以如果原文是"Moneda Actual : S/.",算法一定不能替换成"S/.."

使用负面展望:

cadena = cadena.replaceAll("\bS/(?!\.)", "S/.");

否定前瞻断言(不消耗)下一个字符不是点。

这也适用,然后 "S/" 出现在字符串的末尾。

——

斜杠之后和点之前没有单词边界。单词边界位于“单词”字符(字母、数字和下划线)和非“单词”字符之间。不在空白和非空白之间。