有段时间对perl中的tr///和s///的作用有点混淆,通过做实验终于明白它们之间的细微差别,在此一记。
$var='abcda';
$var =~ s/a/11/g;
最终var值为11bcd11
而$var =~ tr/a/11/;后
$var值为1bcd1;
以上事例说明s替换可以将一个字符(比如a)换成两个字符(11),而tr转换却只能是一对一的替换(a只能转换为1,不能是11)。
以上为个人见解,如有疑问欢迎拍板砖。
理解Perl中tr///与s///的区别
本文通过实验对比了Perl中tr///和s///的使用方式,揭示了tr///只能进行一对一字符替换,而s///则允许将一个字符替换为多个字符。通过实例演示了两者的不同应用。
有段时间对perl中的tr///和s///的作用有点混淆,通过做实验终于明白它们之间的细微差别,在此一记。
$var='abcda';
$var =~ s/a/11/g;
最终var值为11bcd11
而$var =~ tr/a/11/;后
$var值为1bcd1;
以上事例说明s替换可以将一个字符(比如a)换成两个字符(11),而tr转换却只能是一对一的替换(a只能转换为1,不能是11)。
以上为个人见解,如有疑问欢迎拍板砖。
1303
509

被折叠的 条评论
为什么被折叠?