replaceAll或regex Java正斜杠

时间:2018-07-27 21:52:57

标签: java regex replaceall

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

因此,如果原始文本为"Moneda Actual : S/.",则算法不能替换为"S/.."

1 个答案:

答案 0 :(得分:2)

对未来抱有否定态度:

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

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

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

-

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