perl中tr的用法(转载)
2016-06-04 14:27
309 查看
转载:http://blog.sina.com.cn/s/blog_4a0824490101hncz.html
(1)/c表示把匹配不上的字符进行替换.
$temp="AAAABCDEF";
$count=$temp=~tr/A/H/c;
print "$temp\t$count\n";
结果:AAAAHHHHH 5
(2)/d:表示把匹配上的字符全部替换
$temp="AAAABCDEF";
$count=$temp=~tr/A/H/d;
print "$temp\t$count\n";
结果:HHHHBCDEF 4
(3)/s:表示如果要替换的字符中出现连续多个一样的字符,则去冗余:
$temp="AAAABCDEF";
$count=$temp=~tr/A/H/ds;
print "$temp\t$count\n";
结果:HBCDEF 4
$temp="AAAABCDEF";
$count=$temp=~tr/A/H/cs;
print "$temp\t$count\n";
结果:AAAAH 5
=============================================================
另外,我再总结一下tr的用处:
$count=$temp=~tr/A//; #表示计算$temp中出现A的次数,$temp并不改变值
$count=$temp=~tr/A/A/; #表示计算$temp中出现A的次数,$temp并不改变值 和上面的意思一样的
$temp="AAAABCDEF";
$count=$temp=~tr/[A-Z]/[a-z]/;
#表示进行大小写转换
print "$temp\t$count\n";
结果:aaaabcdef
9
如果写成$count=$temp=~tr/[A-Z]/[A-Z]/; 则$temp不会改变,仅统计$temp里面大写字母的个数
结果:AAAABCDEF
9
(1)/c表示把匹配不上的字符进行替换.
$temp="AAAABCDEF";
$count=$temp=~tr/A/H/c;
print "$temp\t$count\n";
结果:AAAAHHHHH 5
(2)/d:表示把匹配上的字符全部替换
$temp="AAAABCDEF";
$count=$temp=~tr/A/H/d;
print "$temp\t$count\n";
结果:HHHHBCDEF 4
(3)/s:表示如果要替换的字符中出现连续多个一样的字符,则去冗余:
$temp="AAAABCDEF";
$count=$temp=~tr/A/H/ds;
print "$temp\t$count\n";
结果:HBCDEF 4
$temp="AAAABCDEF";
$count=$temp=~tr/A/H/cs;
print "$temp\t$count\n";
结果:AAAAH 5
=============================================================
另外,我再总结一下tr的用处:
$count=$temp=~tr/A//; #表示计算$temp中出现A的次数,$temp并不改变值
$count=$temp=~tr/A/A/; #表示计算$temp中出现A的次数,$temp并不改变值 和上面的意思一样的
$temp="AAAABCDEF";
$count=$temp=~tr/[A-Z]/[a-z]/;
#表示进行大小写转换
print "$temp\t$count\n";
结果:aaaabcdef
9
如果写成$count=$temp=~tr/[A-Z]/[A-Z]/; 则$temp不会改变,仅统计$temp里面大写字母的个数
结果:AAAABCDEF
9
相关文章推荐
- IE8不支持数组的indexOf方法
- 共享内存是最快的一种IPC方式
- ubuntu下使用Qt 编译时cannot find -lGL错误解决
- php+mysql 使用ajax的注册页面(1)
- AirlineTicket
- 常用命令-eval简析
- 百度面试经验
- 上帝与集合的正确用法 [Bzoj 3884]
- 网卡、网关、网桥、集线器、中继器、交换机、路由器
- iOS百度地图简单使用
- MySQL环境部署
- Hql语句中占位符对应的传参的顺序,debug 浅析
- 删除元素
- 0603 诚信与职业道德
- C++面试宝典
- react native 遇到的坑
- toast自定义
- 《剑指offer》:[14]位运算以及求二进制中1的个数
- appcan中的微信分享与qq分享
- 多线程经典面试题