Java:
在不同的系統(tǒng)中,路徑的分隔符不同,故需要做出判斷,并切換分隔符;
String類中replaceAll方法如下:
String.replaceAll(String regex,String replacement),replaceAll() 方法要用 4 個(gè)反斜杠,表示一個(gè)反斜杠;
1. java 把字符串中的反斜杠(\)替換成雙斜杠(\\)
replaceAll里面用的是正則表達(dá)式,所以字符串轉(zhuǎn)義一次,正則轉(zhuǎn)義一次,所以一個(gè)斜扛要寫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è)\. 必須寫成4個(gè)\ ;如果要表示\\,那就要寫8個(gè)\ ;所以如果寫成: 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,"\\");
聯(lián)系客服