posts - 38,  comments - 22,  trackbacks - 0
          ?

          雖然使用正則表達(dá)式能很好的進(jìn)行字符串的解析、提取、替換,但是對(duì)于一些簡(jiǎn)單的應(yīng)用,使用 String 類提供的一些方法就可以很好的完成,最突出的就是 split 方法。

          split 方法能夠很方便的將字符串按照一定的規(guī)則拆分開。

          比如對(duì)于下面的字符串:

          Tom,Jane,Tony,Elva,Gigi

          只要調(diào)用如下的代碼就可以將各個(gè)名字提取出來:

          String value = "Tom,Jane,Tony,Elva,Gigi";

          String[] names = value.split(",");

          for(int i=0,n=names.length;i<n;i++)

          {

          ???? System.out.println(names[i]);

          }

          運(yùn)行結(jié)果:

          Tom

          Jane

          Tony

          Elva

          Gigi

          ?

          看到這個(gè)運(yùn)行結(jié)果,很多人都認(rèn)為 split 方法就是按照給定的字符串對(duì)字符串進(jìn)行拆分,知道碰到了下面的問題。

          有一個(gè)字符串:中國 . 北京 . 海淀 . 學(xué)院路。請(qǐng)解析此字符串,并打印輸出“中國 北京 海淀 學(xué)院路 ”。

          于是寫代碼如下:

          String value = " 中國 . 北京 . 海淀 . 學(xué)院路 ";

          String[] names = value.split(".");

          for(int i=0,n=names.length;i<n;i++)

          {

          ???? System.out.print(names[i]+" ");

          }

          運(yùn)行結(jié)果:

          ?

          對(duì),沒看錯(cuò)!沒有任何輸出!

          讓我們來看看 split 方法的方法簽名吧:

          public String[] split(String regex)

          這里的參數(shù)的名稱是 regex ,也就是 Regular Expression (正則表達(dá)式)。這個(gè)參數(shù)并不是一個(gè)簡(jiǎn)單的分割用的字符,而是一個(gè)正則表達(dá)式,看了 split 方法的實(shí)現(xiàn)代碼就更堅(jiān)定了我們的信心:

          public String[] split(String regex, int limit) {

          ???? return Pattern.compile(regex).split(this, limit);

          }

          split 的實(shí)現(xiàn)直接調(diào)用的 Matcher 類的 split 的方法。讀者已經(jīng)知道,“ . ”在正則表達(dá)式中有特殊的含義,因此我們使用的時(shí)候必須進(jìn)行轉(zhuǎn)義。

          修改代碼如下:

          private static void split2()

          {

          ???? String value = " 中國 . 北京 . 海淀 . 學(xué)院路 ";

          ???? String[] names = value.split("\\.");

          ???? for(int i=0,n=names.length;i<n;i++)

          ???? {

          ???????? System.out.print(names[i]+" ");

          ???? }

          }

          運(yùn)行結(jié)果

          中國 北京 海淀 學(xué)院路

          posted on 2007-01-22 11:42 aaabbb 閱讀(253) 評(píng)論(0)  編輯  收藏 所屬分類: java
          主站蜘蛛池模板: 吉安县| 彩票| 林口县| 吉木萨尔县| 祥云县| 隆回县| 柳林县| 漳平市| 玉林市| 三穗县| 且末县| 山阴县| 富锦市| 宣恩县| 芜湖县| 黑河市| 囊谦县| 宣汉县| 得荣县| 永川市| 陈巴尔虎旗| 郧西县| 涟水县| 山东省| 喀喇沁旗| 五家渠市| 临桂县| 镇沅| 广东省| 湟中县| 商水县| 宜兰县| 宝应县| 遂溪县| 当涂县| 池州市| 武夷山市| 五指山市| 承德县| 滕州市| 浦城县|