java replaceAll() 方法要用 4 個反斜槓,表示一個反斜槓,該怎麼解決

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

相關文章
相關標籤/搜索