tinguo002

           

          Java 截取反斜杠 replaceAll和split (“\”)轉

          轉: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代碼  收藏代碼
          1. "1234567891^1234567890".split("^")[1

          會提示數組下標越界異常,說明根本沒有拆分成功。究其原因,原來^是特殊字符,split中的參數為正則表達式,所以要想讓split識別特殊字符,就需要把參數轉變為正則,即在參數前加上"\\"即可。

          Java代碼  收藏代碼
          1. "1234567891^1234567890".split("\\^")[1


          歡迎大家訪問我的個人網站 萌萌的IT人

          posted on 2013-04-23 14:53 一堣而安 閱讀(660) 評論(0)  編輯  收藏 所屬分類: java

          導航

          統計

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          收藏夾

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 肇东市| 乃东县| 屏山县| 敦化市| 秦皇岛市| 阳原县| 西藏| 抚顺县| 万宁市| 乌兰察布市| 滦南县| 上饶市| 东兰县| 米林县| 科技| 静安区| 深州市| 通渭县| 武安市| 永仁县| 万宁市| 池州市| 河北区| 阿克陶县| 玉门市| 华蓥市| 霍州市| 米脂县| 文登市| 佛教| 盐亭县| 土默特右旗| 六安市| 乌审旗| 莱阳市| 台江县| 江阴市| 龙岩市| 新丰县| 自贡市| 河池市|