本文重點討論Perl字串處理函數的用法,每種函數都有各自的特點和作用,需要的朋友可以參考下
下面請看本文詳細介紹.
Perl字串處理函數
1. index
文法:
position=index(string,substring,position);
語義:
返回子串substring在字串string中的位置,如果不存在則返回-1。
參數position是可選項,表示匹配之前跳過的字元數,或者說從該位置開始匹配。
2. rindex
文法:
position=rindex(string,substring,position);
語義:
與index類似,區別是從右端匹配。
3. length
文法:
num=length(string);
語義:
返回字串長度,或者說含有字元的數目。
4. pos
文法:
offset=pos(string);
語義:
返回最後一次模式比對的位置。
5.substr
文法:
substr(expr,skipchars,length)
語義:
抽取字串(或運算式產生的字串)expr中的子串,
跳過skipchars個字元,或者說從位置skipchars開始抽取子串(第一個字元位置為0),
子串長度為length,此參數可忽略,意味著取剩下的全部字元。
當此函數出現在等式左邊時,expr必須為變數或數組元素,此時其中部分子串被等式右邊的值替換。
6.study
文法:
study(scalar);
語義:
用一種內部格式提高變數的訪問速度,同一時刻只對一個變數起作用。
7. lc, uc
文法:
retval=lc(string);
retval=uc(string);
語義:
將字串全部轉換成小/大寫字母。
8. lcfirst, ucfirst
文法:
retval=lcfirst(string);
retval=ucfirst(string);
語義:
將第一個字母轉換成小/大寫。
9. quotameta
文法:
newstring=quotemeta(oldstring);
語義:
將非單詞的字母前面加上反斜線(\)。
語句:$string=quotemeta($string);
等效於:$string=~s/(\W)/\\$1/g;
常用於模式比對操作中,確保字串中沒有字元被看作匹配操作符。
10. join
文法:
join(joinstr,list);
語義:
把字串列表(數組)組合成一個長的字串,在每兩個列表元素間插入串joinstr。
11. sprintf
文法:
sprintf(string,fields);
語義:
與printf類似,區別是結果不輸出到檔案,而作為傳回值賦給變數。
例子$num=26;
$outstr=sprintf("%d=%x hexadecimal or %o octal\n",$num,$num,$num);
print($outstr);
結果輸出26=1a hexadecimal or 32 octal