perl系列:字符串操作(非正则表达式)
1、tr/查找字符表/替换字符表/ds
对字符串里的字符逐个扫描,把每个查找字符表里的字符,替换为替换字符表里对应的字符。 ????$a='abcdefg'; $a =~ tr/abc/ABC/;??? #将a、b、c分别替换为A、B、C 当替换字符表长度小于查找字符表时,则自动复制其最后一个字符直至补足。 ????$_ = <>; tr/0-9/*/;??? #将输入的所有数字替换成*。 当替换字符表为空时,则自动复制查找字符表,实际上不发生替换。常用于指定字符计数。 ???? $_ = <>; $count=tr/0-9//;??? #计算输入字符串里数字的个数 如果查找字符表里有重复字符,则只有第一个有效 ?????$a='abcdefg'; $a =~ tr/aaa/ABC/;??? #相当于tr/a/A/ 修饰符"d":不允许替换字符表自动补足,结果将删除找到但没有对应替换的字符 ?????$_ = <>; tr/0-9/*/;??? #将0替换为*,其他数字删除 修饰符"s":如果替换生成的字符里出现了重复字符序列,则合并为一个。注意:未替换部分的重复序列不压缩 ????$a='abcdehhh'; $a =~ tr/abc/iii/s;??? #结果为idehhh 2、大小写转换 3、使用index查找子字符串 $where=rindex($str,$sub));??? #从后往前查,返回$sub在$str中最后出现的位置。 4、从字符串中提取片段 5、几个特殊运算符 length()??? #字符串长度,注意"n" lc()??? #将字符串小写 uc()??? #将字符串大写 reverse()??? #将字符串反排,注意必须用于标量上下文中 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |