標籤:
本文和大家重點討論一下Perl split函數的用法,Perl中的一個非常有用的函數是Perl split函數-把字串進行分割並把分割後的結果放入數組中。這個Perl split函數使用規則運算式(RE),如果未特定則工作在$_變數上。
Perl split函數
Perl中的一個非常有用的函數是Perl split函數-把字串進行分割並把分割後的結果放入數組中。這個Perl split函數使用規則運算式(RE),如果未特定則工作在$_變數上。
Perl split函數可以這樣使用:
- $info="Caine:Michael:Actor:14,LeafyDrive";
- @personal=split(/:/,$info);
其結果是:@personal=("Caine","Michael","Actor","14,LeafyDrive");
◆如果我們已經把資訊存放在$_變數中,那麼可以這樣:
@personal=split(/:/);
如果各個域被任何數量的冒號分隔,可以用RE代碼進行分割:
- $_="Capes:Geoff::Shotputter:::BigAvenue";
- @personal=split(/:+/);
其結果是:@personal=("Capes","Geoff","Shotputter","BigAvenue");
但是下面的代碼:
- $_="Capes:Geoff::Shotputter:::BigAvenue";
- @personal=split(/:/);
的結果是:@personal=("Capes","Geoff","","Shotputter","","","BigAvenue");
◆這個Perl split函數中單詞可以被分割成字元,句子可以被分割成單詞,段落可以被分割成句子:
- @chars=split(//,$word);
- @words=split(//,$sentence);
- @sentences=split(/\./,$paragraph);
-
在第一句中,Null 字元串在每個字元間匹配,所以@chars數組是一個字元的數組。>>
//之間的部分表示split用到的Regex(或者說分隔法則)
\s是一種萬用字元,代表空格
+代表重複一次或者一次以上。
所以,\s+代表一個或者一個以上的空格。
split(/\s+/,$line)表示把字串$line,按空格為界分開。
比如說,$line="你好朋友歡迎光臨我的部落格61dh.com";
split(/\s+/,$line)後得到:
你好朋友歡迎訪問我的部落格61dh.com
perl:split函數用法