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/"
出现在字符串的末尾。
——
斜杠之后和点之前没有单词边界。单词边界位于“单词”字符(字母、数字和下划线)和非“单词”字符之间。不在空白和非空白之间。
我只想将字符串 "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/"
出现在字符串的末尾。
——
斜杠之后和点之前没有单词边界。单词边界位于“单词”字符(字母、数字和下划线)和非“单词”字符之间。不在空白和非空白之间。