river_hiter

          有關(guān)正則表達(dá)式的一個(gè)小技巧

          最近編個(gè)小程序,要涉及到讀取用戶輸入的文件路徑,并根據(jù)其保存到相應(yīng)的目錄。
          由于用戶輸入的是一般的字符表達(dá)式,比如“D:\document\myprogram\first.java”.需要將'\'換成'\\'才行。剛開始以為replaceAll("\\", "\\\\”)就可以了。而后來發(fā)現(xiàn)需寫成replaceAll("\\\\", "\\\\\\\\”)才行。自己又編了個(gè)程序測(cè)試一下:
          String s = "D:\\documents\\first.java"
          String ss = ss = s.replaceAll("\\\\", "\\\\\\\\”);
          System.out.println("s= " + s);
          System.out.println("ss=" + ss);
          結(jié)果輸出:
          s= D:\documents\first.java
          ss= D:\\documents\\first.java
          后來仔細(xì)想想才明白,首先,java會(huì)把“\\\\”解釋成一個(gè)字符串,接下來,由于replaceAll是以正則表達(dá)式作為參數(shù),所以“\\”被解釋成一個(gè)regex。對(duì)于一個(gè)regex來說這就代表著一個(gè)字符,就是“\”。對(duì)后面的那個(gè)8個(gè)\來說,最終會(huì)被解釋成“\\”。

          posted on 2006-09-04 16:02 何晏成 閱讀(92) 評(píng)論(0)  編輯  收藏


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           

          My Links

          Blog Stats

          常用鏈接

          留言簿(1)

          隨筆檔案

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 开远市| 布尔津县| 临城县| 礼泉县| 天水市| 客服| 宁武县| 禄丰县| 婺源县| 潜江市| 越西县| 蒙自县| 西畴县| 澄迈县| 孝昌县| 汝南县| 双辽市| 乌恰县| 沙坪坝区| 澄迈县| 瓦房店市| 礼泉县| 濮阳县| 和田市| 无锡市| 平远县| 吉木萨尔县| 饶河县| 毕节市| 乌鲁木齐市| 常德市| 安顺市| 腾冲县| 皋兰县| 庆阳市| 子长县| 都匀市| 永胜县| 来凤县| 福安市| 南昌市|