要想替換成 str1="aa\\bbb";str2="aa\'bbb"; 必須這樣替換: str1 = str1.replaceAll("\\\\", "\\\\\\\\"); str2 = str2.replaceAll("'", "\\\\'"); 原因如下: String 的 replaceAll() 方法,實(shí)際是采用正則表達(dá)式的規(guī)則去匹配的, \\\\ ,java解析為\\交給正則表達(dá)式, 正則表達(dá)式再經(jīng)過一次轉(zhuǎn)換,把\\轉(zhuǎn)換成為\ 也就是java里面要用正則來表示一個(gè)\. 必須寫成4個(gè)\ 如果要表示\\,那就要寫8個(gè)\ 所以如果寫成: str1 = str1.replaceAll("\\", "\\\\");就會(huì)報(bào)正則表達(dá)式的錯(cuò)誤。 |
|