我想将字符串“ 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/.."
答案 0 :(得分:2)
对未来抱有否定态度:
cadena = cadena.replaceAll("\\bS/(?!\\.)", "S/.");
否定的前瞻断言(不消耗)下一个字符不是点。
这也将起作用,然后"S/"
出现在字符串的末尾。
-
在斜线之后和点之前没有单词边界。单词边界介于“单词”字符(字母,数字和下划线)和非“单词”字符之间。不在空白和非空白之间。