我想把字符串"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/
我想打印:
货币实际值:S/。
因此,如果原始文本是"Moneda Actual : S/."
,则算法不能替换为"S/.."
使用负面展望:
cadena = cadena.replaceAll("\bS/(?!\.)", "S/.");
否定展望断言(不消耗(下一个字符不是点。
如果"S/"
出现在字符串的末尾,这也会起作用。
----
斜线之后和点之前没有单词边界。单词边界在"单词"字符(字母、数字和下划线(和非"单词"的字符之间。不在空白和非空白之间。