perl:split函數用法


本文和大家重點討論一下Perl split函數的用法,Perl中的一個非常有用的函數是Perl split函數-把字符串進行分割並把分割后的結果放入數組中。這個Perl split函數使用規則表達式(RE),如果未特定則工作在$_變量上。

Perl split函數

Perl中的一個非常有用的函數是Perl split函數-把字符串進行分割並把分割后的結果放入數組中。這個Perl split函數使用規則表達式(RE),如果未特定則工作在$_變量上。

Perl split函數可以這樣使用:

  1. $info="Caine:Michael:Actor:14,LeafyDrive";  
  2. @personal=split(/:/,$info);  

 

其結果是:@personal=("Caine","Michael","Actor","14,LeafyDrive");

◆如果我們已經把信息存放在$_變量中,那么可以這樣:

@personal=split(/:/);

如果各個域被任何數量的冒號分隔,可以用RE代碼進行分割:

  1. $_="Capes:Geoff::Shotputter:::BigAvenue";  
  2. @personal=split(/:+/);  

 

其結果是:@personal=("Capes","Geoff","Shotputter","BigAvenue");

但是下面的代碼:

 

  1. $_="Capes:Geoff::Shotputter:::BigAvenue";  
  2. @personal=split(/:/);  

 

的結果是:@personal=("Capes","Geoff","","Shotputter","","","BigAvenue");

◆這個Perl split函數中單詞可以被分割成字符,句子可以被分割成單詞,段落可以被分割成句子:

 

  1. @chars=split(//,$word);  
  2. @words=split(//,$sentence);  
  3. @sentences=split(/\./,$paragraph);  
  4.  

 

在第一句中,空字符串在每個字符間匹配,所以@chars數組是一個字符的數組。>>

//之間的部分表示split用到的正則表達式(或者說分隔法則)
\s是一種通配符,代表空格
+代表重復一次或者一次以上。
所以,\s+代表一個或者一個以上的空格。
split(/\s+/,$line)表示把字符串$line,按空格為界分開。
比如說,$line="你好朋友歡迎光臨我的博客61dh.com";
split(/\s+/,$line)后得到:
你好朋友歡迎訪問我的博客61dh.com


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM