Perl字符串处理函数大全
投稿:mdxy-dxy
下面请看本文详细介绍.
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