perl对字符串的处理
当我们对字符串其中的某部分做截出,替换,删除(不包括搜索)。我们可以想到的用substr,unpack,regex这些方法来做。
如果搜索,那么让我们想到的是index,rindex.
(1)截出
substr
$str="I'm boy,and you?";
$sex=substr($str,4,3);#boy
unpack
$sex=unpack("x4A3",$str);#跳过4字节打印后面3个字符
regex
$str = ~m/(boy)/;#将匹配值存入$1中
print $1;
(2)替换
substr
substr($str,4,3,"girl");
print $str; #I'm girl,and you?
substr($str,4,3)="girl";
print $str; #I'm girl,and you?
unpack
无法做到
regex
$str =~ s/boy/girl/g;
print $str;
删除
substr($str,4,3)="";
print $str; #I'm ,and you?
unpack
无法做到
regex
$str =~ s/boy//g;
当我们对字符串其中的某部分做截出,替换,删除(不包括搜索)。我们可以想到的用substr,unpack,regex这些方法来做。
如果搜索,那么让我们想到的是index,rindex.
(1)截出
substr
$str="I'm boy,and you?";
$sex=substr($str,4,3);#boy
unpack
$sex=unpack("x4A3",$str);#跳过4字节打印后面3个字符
regex
$str = ~m/(boy)/;#将匹配值存入$1中
print $1;
(2)替换
substr
substr($str,4,3,"girl");
print $str; #I'm girl,and you?
substr($str,4,3)="girl";
print $str; #I'm girl,and you?
unpack
无法做到
regex
$str =~ s/boy/girl/g;
print $str;
删除
substr($str,4,3)="";
print $str; #I'm ,and you?
unpack
无法做到
regex
$str =~ s/boy//g;
print $str;
本文转自hahazhu0634 51CTO博客,原文链接:http://blog.51cto.com/5ydycm/538241,如需转载请自行联系原作者