在不同的系統(tǒng)中,路徑的分隔符不同,故需要做出判斷,并切換分隔符;
String類(lèi)中replaceAll方法如下:
String.replaceAll(String regex,String replacement),replaceAll() 方法要用 4 個(gè)反斜杠,表示一個(gè)反斜杠;
1. java把字符串中的反斜杠(\)替換成雙斜杠(\\)
replaceAll里面用的是正則表達(dá)式,所以字符串轉(zhuǎn)義一次,正則轉(zhuǎn)義一次,所以一個(gè)斜扛要寫(xiě)4個(gè),如:replaceAll("\\\\","\\\\\\\\");
2.java把字符串中的反斜杠(\)替換成斜杠(/)
replaceAll("\\\\","/");
3.java把字符串中的斜杠(/)替換成反斜杠(\)
replaceAll("/", "\\\");
例如 str1="aa\bbb"; str2="aa'bbb"要想替換成 str1="aa\\bbb";str2="aa\'bbb";
必須這樣替換:
str1 = str1.replaceAll("\\\", "\\\\\\\");
str2 = str2.replaceAll("'", "\\\\'");
原因如下:
String 的 replaceAll()方法,實(shí)際是采用正則表達(dá)式的規(guī)則去匹配的,\\\\,java解析為\\交給正則表達(dá)式,正則表達(dá)式再經(jīng)過(guò)一次轉(zhuǎn)換,把\\轉(zhuǎn)換成為\ ;也就是java里面要用正則來(lái)表示一個(gè)\. 必須寫(xiě)成4個(gè)\ ;如果要表示\\,那就要寫(xiě)8個(gè)\ ;所以如果寫(xiě)成: str1 = str1.replaceAll("\", "\\\"),就會(huì)報(bào)正則表達(dá)式的錯(cuò)誤。
JavaScript:
stringObj.replace(rgExp, replaceText)其中stringObj是字符串(string),reExp可以是正則表達(dá)式對(duì)象(RegExp)也可以是字符串(string),replaceText是替代查找到的字符串。
1. javascript 把字符串中的反斜杠(\)替換成雙斜杠(\\)
replace(/\\/g,"\\\");
2.javascript把字符串中的反斜杠(\)替換成斜杠(/)
replace(/\\/g,"\/");
3.javascript把字符串中的斜杠(/)替換成反斜杠(\)
replace(/\//g,"\");
-
JAVA
+關(guān)注
關(guān)注
19文章
2944瀏覽量
104112
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論