Strings(三)
上一篇 /
下一篇 2008-12-25 15:02:04
/ 个人分类:Perl-Cook Book
一、一次处理一个字符串中的一个字符
split、unpack和RE
1、split
@arr = split(//, "yashirolj"); #@arr的元素分别为y、a、s、h、i、r、o、l、j
2、unpack
@arr = unpack("U*", "yashirolj"); #@arr的元素为别为121、97、115、104、105、114、
#111、108和106(非别为yashirolj每个字母对应的ASCII码)
3、RE
@arr = ();
$str = "yashirolj";
while ($str =~ m/(.)/g) {
push @arr, $1;
} #@arr的元素分别为y、a、s、h、i、r、o、l、j
二、reverse
1、reverse函数可以很方便的反转整个字符串。如果reverse用于scalar context,则返回一个scalar,该目标scalar是源scalar的反序;如果reverse用于list context,则返回一个list,该目标list是源list中每个元素的反序。
$str_name = "yashirolj";
$str_words = "hello i am yashirolj";
@arr_names = qw(yashriolj lee lijing);
$rev_str_name = reverse($str_name); #jlorihsay
$rev_str_words = join(" ", reverse split(" ", $str_words)); #yashirolj am i hello
@rev_arr_names = reverse(@arr_names); #qw(lijing lee yashirolj)
2、reverse函数的另一个作用是判断字符串是否回文
$str = "reviver";
if ($str eq reverse($str)) {
print "$str是回文\n";
}
收藏
举报
TAG: