转载: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

相关文章:

  • 2022-01-30
  • 2021-08-11
  • 2022-12-23
  • 2022-12-23
  • 2021-09-01
  • 2022-03-10
  • 2021-06-21
  • 2021-07-29
猜你喜欢
  • 2022-12-23
  • 2021-09-03
  • 2022-12-23
  • 2022-12-23
  • 2021-07-02
  • 2022-12-23
  • 2021-11-21
相关资源
相似解决方案