隨筆 - 32, 文章 - 1, 評論 - 5, 引用 - 0
          數(shù)據(jù)加載中……

          perl中神奇的split

          perl的split,感覺它還是很容易讓新人誤會.但有很多時候,如果數(shù)據(jù)是固定標(biāo)記來分隔,用他比使用正則可是方便多了.
          為什么講perl的第三個參數(shù)很神奇啦.主要在于split的第三個參數(shù).
          我們知道split是工作在列表的環(huán)境,他會裝輸入的數(shù)據(jù),多分割幾次,在建立結(jié)果列表,然后返回.接著,會返回第三個參數(shù)內(nèi)的數(shù)據(jù),其它的都扔棄.
          第三個參數(shù)一定要非常小心,為什么,如下的程序,我們只需要前二個參數(shù).我們注意第三個參數(shù)

          #!/usr/bin/perl
          while(<DATA>){
            
          my ($aa, $dd= split(/\s+/, $_, 2);
              
          print "$aa  || $dd ||\n";

          }

          __DATA__
          1xxxxxxx  2xxxxxx 3xxxxxx 4xxxxx
          1xxxxxxx  2xxxxxx 3xxxxxx 4xxxxx
          1xxxxxxx  2xxxxxx 3xxxxxx 4xxxxx
          1xxxxxxx  2xxxxxx 3xxxxxx 4xxxxx
          1xxxxxxx  2xxxxxx 3xxxxxx 4xxxxx 

          如果split第三個參數(shù)是寫的2的話,輸出如下結(jié)果
          11xxxxxxx  || 2xxxxxx 3xxxxxx 4xxxxx
          2||
          31xxxxxxx  || 2xxxxxx 3xxxxxx 4xxxxx
          4|| 
          5


          如果split是寫的3的話,輸出如下結(jié)果
          11xxxxxxx  || 2xxxxxx ||
          21xxxxxxx  || 2xxxxxx || 
          3


          這主要是因為,如果想取得前2個字段,字段記數(shù)為3.因為需要給文件切成3份.拿出前二份.不然都給最后面部分做一份了.
          轉(zhuǎn)自遠(yuǎn)望技術(shù)論壇。

          第三個參數(shù)在大數(shù)據(jù)量情況下還是可以提高不少速度。

          posted on 2010-12-01 17:36 colorfire 閱讀(977) 評論(1)  編輯  收藏 所屬分類: 腳本語言

          評論

          # re: perl中神奇的split  回復(fù)  更多評論   

          寫的真不錯,我最近也在寫一個關(guān)于Perl的教程,希望能多交流和指點。
          能力有限,見笑了:http://www.yiibai.com/perl
          2012-09-02 22:49 | forwall

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 郎溪县| 北川| 阳山县| 原阳县| 元谋县| 贡山| 新丰县| 尚义县| 临清市| 兰州市| 常宁市| 甘孜县| 靖州| 顺平县| 新密市| 文登市| 南澳县| 沙洋县| 潮州市| 沂源县| 临清市| 长海县| 教育| 当雄县| 巴彦县| 麦盖提县| 剑河县| 射阳县| 普安县| 鱼台县| 汪清县| 永昌县| 福安市| 舟曲县| 老河口市| 大关县| 甘孜| 九龙城区| 黄冈市| 旺苍县| 巴南区|