標籤:Regex 反斜線 斜杠 替換
Java:
在不同的系統中,路徑的分隔字元不同,故需要做出判斷,並切換分隔字元;
String類中replaceAll方法如下:
String.replaceAll(String regex,String replacement),replaceAll() 方法要用 4 個反斜線,表示一個反斜線;
1. java 把字串中的反斜線(\)替換成雙斜杠(\\)
replaceAll裡面用的是Regex,所以字串轉義一次,正則轉義一次,所以一個斜扛要寫4個,如: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()方法,實際是採用Regex的規則去匹配的, \\\\,java解析為\\交給Regex,Regex再經過一次轉換,把\\轉換成為\ ;也就是java裡面要用正則來表示一個\. 必須寫成4個\ ;如果要表示\\,那就要寫8個\ ;所以如果寫成: str1 = str1.replaceAll("\\", "\\\\"),就會報Regex的錯誤。
JavaScript:
stringObj.replace(rgExp, replaceText) 其中stringObj是字串(string),reExp可以是Regex對象(RegExp)也可以是字串(string),replaceText是替代尋找到的字串。
1. javascript 把字串中的反斜線(\)替換成雙斜杠(\\)
replace(/\\/g,"\\\\");
2.javascript 把字串中的反斜線(\)替換成斜杠(/)
replace(/\\/g,"\/");
3.javascript 把字串中的斜杠(/)替換成反斜線(\)
replace(/\//g,"\\");
Java,JavaScript中斜杠和反斜線的替換