java replaceAll() 方法要用 4 個反斜槓,表示一個反斜槓
java replaceAll() 方法要用 4 個反斜槓,表示一個反斜槓
例如 str1="aa\bbb"; str2="aa'bbb";
要想替換成 str1="aa\\bbb";str2="aa\'bbb";
必須這樣替換:
str1 = str1.replaceAll("\\\\", "\\\\\\\\");
str2 = str2.replaceAll("'", "\\\\'");
緣由以下:
String 的 replaceAll() 方法,實際是採用正則表達式的規則去匹配的,
\\\\ ,java解析爲\\交給正則表達式, 正則表達式再通過一次轉換,把\\轉換成爲\
也就是java裏面要用正則來表示一個\. 必須寫成4個\
若是要表示\\,那就要寫8個\
因此若是寫成: str1 = str1.replaceAll("\\", "\\\\");
就會報正則表達式的錯誤。
java