Java 截取反斜杠--java使用split拆分特殊字符
orgn link : http://blog.csdn.net/scy411082514/article/details/7987852
Java 截取反斜杠 replaceAll和split (“\”) 問題解決辦法?
2009年07月15日 星期三 上午 11:26?
xxx.split("\\") 顯然得不到想要的結果?
正確方法?
xxx.split("\\\\");?
原因如下:?
在Java中處理一些路徑相關的問題的時候,如要取出ie瀏覽器上傳文件的文件名,由于ie會把整個文件路徑都作為文件名上傳,需要用java.lang.String中的replaceAll或者split來處理。如:?
上傳文件路徑為:C:\Documents and Settings\collin\My Documents\111-lazyloading.gif,欲取出文件名:111-lazyloading.gif。可以?
String temp[] = name.split("\\\\");?
if (temp.length > 1) {?
name = temp[temp.length - 1];?
}?
regex為\\\\,因為在java中\\表示一個\,而regex中\\也表示\,所以當\\\\解析成regex的時候為\\。?
由于unix中file.separator為斜杠"/",下面這段代碼可以處理windows和unix下的所有情況:?
String temp[] = name.replaceAll("\\\\","/").split("/");?
if (temp.length > 1) {?
??? name = temp[temp.length - 1];?
}
在使用java中的split拆分特殊字符的時候,會發現達不到自己想要的結果。比如
?
Java代碼??
會提示數組下標越界異常,說明根本沒有拆分成功。究其原因,原來^是特殊字符,split中的參數為正則表達式,所以要想讓split識別特殊字符,就需要把參數轉變為正則,即在參數前加上"\\"即可。
?
Java代碼??
總結
以上是生活随笔為你收集整理的Java 截取反斜杠--java使用split拆分特殊字符的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java中两个map的融合(两个map有
- 下一篇: thinking-in-java(11)