![](/img/trans.png)
[英]Why does String.replaceAll() work differently in Java 8 from Java 9?
[英]How does string.replaceAll() work?
我正在制作一個替換字符串某個部分的程序。
String x = "hello";
x=x.replaceAll("e","\\\\s");
System.out.println(x);
輸出: h \\ sllo
但對於
System.out.println("\\s");
輸出: \\ s
為什么我們在第一種情況下需要額外的轉義字符。
\\
字符需要\\\\
\\
轉義字符串,因此你需要2 + 2 = 4個反斜杠來匹配單個\\
(2個用於字符串,2個用於正則表達式引擎) String#replaceAll
方法的第二個參數也由正則表達式引擎解釋,因為可能存在反向引用,這也是同樣的正則表達式規則同樣適用於替換字符串的原因。 \\
替換字符串,后跟文字s
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.