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