<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    如鵬網 大學生計算機學習社區

    CowNew開源團隊

    http://www.cownew.com 郵件請聯系 about521 at 163.com

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      363 隨筆 :: 2 文章 :: 808 評論 :: 0 Trackbacks

    雖然使用正則表達式能很好的進行字符串的解析、提取、替換,但是對于一些簡單的應用,使用 String 類提供的一些方法就可以很好的完成,最突出的就是 split 方法。

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

    比如對于下面的字符串:

    Tom,Jane,Tony,Elva,Gigi

    只要調用如下的代碼就可以將各個名字提取出來:

    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]);

    }

    運行結果:

    Tom

    Jane

    Tony

    Elva

    Gigi

    ?

    看到這個運行結果,很多人都認為 split 方法就是按照給定的字符串對字符串進行拆分,知道碰到了下面的問題。

    有一個字符串:中國 . 北京 . 海淀 . 學院路。請解析此字符串,并打印輸出“中國 北京 海淀 學院路 ”。

    于是寫代碼如下:

    String value = " 中國 . 北京 . 海淀 . 學院路 ";

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

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

    {

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

    }

    運行結果:

    ?

    對,沒看錯!沒有任何輸出!

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

    public String[] split(String regex)

    這里的參數的名稱是 regex ,也就是 Regular Expression (正則表達式)。這個參數并不是一個簡單的分割用的字符,而是一個正則表達式,看了 split 方法的實現代碼就更堅定了我們的信心:

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

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

    }

    split 的實現直接調用的 Matcher 類的 split 的方法。讀者已經知道,“ . ”在正則表達式中有特殊的含義,因此我們使用的時候必須進行轉義。

    修改代碼如下:

    private static void split2()

    {

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

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

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

    ???? {

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

    ???? }

    }

    運行結果

    中國 北京 海淀 學院路

    posted on 2007-01-20 23:38 CowNew開源團隊 閱讀(2831) 評論(9)  編輯  收藏

    評論

    # re: xjl:關于String類的split方法 2007-01-22 10:39 ChairMan 貓
    是需要轉義一下。  回復  更多評論
      

    # re: xjl:關于String類的split方法 2007-01-22 10:49 BeanSoft
    頂一個!  回復  更多評論
      

    # re: xjl:關于String類的split方法 2007-01-22 11:40 Yu-peng Cun
    好貼,長了見識  回復  更多評論
      

    # re: xjl:關于String類的split方法 2007-01-22 15:04 青山綠水
    謝謝,我曾經也遇到過這種事情,但我常用stoken,長知識了。  回復  更多評論
      

    # re: xjl:關于String類的split方法 2007-01-23 09:07 小貓
    頂一個!  回復  更多評論
      

    # re: xjl:關于String類的split方法 2007-01-23 19:03 lang
    建議試驗一下org.apache.commons.lang.stringutils.split(value,".");  回復  更多評論
      

    # re: xjl:關于String類的split方法 2007-01-25 12:06 Web 2.0 技術資源
    雖然使用正則表達式能很好的進行字符串的解析、提取、替換,但是對于一些簡單的應用,使用 String 類提供的一些方法就可以很好的完成,最突出的就是 split 方法。

    和后面說的矛盾了..........  回復  更多評論
      

    # re: xjl:關于String類的split方法 2007-01-25 12:47 CowNew開源團隊
    @Web 2.0 技術資源
    謝謝。這段文字是從我的那本書中作廢下來的一段,如果結合上下文就不矛盾了。:)  回復  更多評論
      

    # re: xjl:關于String類的split方法 2007-03-26 15:49 flyzl
    Matcher 類沒有 split 方法
    是同包下的 Pattern 類  回復  更多評論
      


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 国产亚洲美女精品久久久久狼| 日本免费网站在线观看| 久久久久亚洲AV无码专区网站| 亚洲αⅴ无码乱码在线观看性色| 57PAO成人国产永久免费视频 | 亚洲αⅴ无码乱码在线观看性色| 毛片视频免费观看| 国产午夜亚洲精品| 日本高清免费aaaaa大片视频| 亚洲精品中文字幕| 国产真人无遮挡作爱免费视频| 久久亚洲中文无码咪咪爱| 日韩免费福利视频| 香蕉国产在线观看免费| 亚洲一区二区视频在线观看| 美女无遮挡拍拍拍免费视频| 久久亚洲国产中v天仙www | 一级毛片大全免费播放下载| 精品亚洲一区二区三区在线观看| 99久久99这里只有免费的精品| 久久亚洲国产成人亚| 亚洲高清视频免费| 亚洲码欧美码一区二区三区| 国产中文字幕免费观看| 九九99热免费最新版| 亚洲男人都懂得羞羞网站| 免费成人福利视频| 久久精品国产亚洲AV未满十八| 亚洲国产精品专区在线观看| 在线观看特色大片免费网站| 亚洲妇女水蜜桃av网网站| 免费看AV毛片一区二区三区| g0g0人体全免费高清大胆视频| 五月天网站亚洲小说| 一个人免费观看在线视频www| 黄页网址在线免费观看| 久久夜色精品国产噜噜噜亚洲AV | 成人午夜免费视频| 亚洲国产精品久久久久婷婷老年| AV免费网址在线观看| 国产精品无码免费专区午夜|