LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1477|回复: 1

perl的tr命令,可是却得到相反的结果

[复制链接]
发表于 2005-8-22 21:19:15 | 显示全部楼层 |阅读模式
#!/usr/bin/perl
#如$string =~ tr/\d/ /c;把所有非数字字符替换为空格。$string =~ tr/\t //d;删除
tab和空格;  $string =~ tr/0-9/ /cs;把数字间的其它字符替换为一个空格
$string1="4546516206gjksrdhtg515trhaesjth%^&**(&415126165165156156156";
$string1=~ tr/_a-zA-Z/ /c;
print "$string1\n";




output
[root@DaleYoung chapter8]# perl eg16.pl
          gjksrdhtg   trhaesjth
搞不懂了,我想替换字母的,怎么数字倒全变成空格了呀?
如果把$string1=~ tr/_a-zA-Z/ /c;换成$string1=~ tr/\d/ /c;结果更吓人.
请教原因
发表于 2005-9-9 18:16:46 | 显示全部楼层
If the /c modifier is specified, the character set in SEARCHLIST is complemented; that is, the effective search list consists of all the characters not in SEARCHLIST.

Post by pnyang
#!/usr/bin/perl
#如$string =~ tr/\d/ /c;把所有非数字字符替换为空格。$string =~ tr/\t //d;删除
tab和空格;  $string =~ tr/0-9/ /cs;把数字间的其它字符替换为一个空格
$string1="4546516206gjksrdhtg515trhaesjth%^&**(&415126165165156156156";
$string1=~ tr/_a-zA-Z/ /c;
print "$string1\n";




output
[root@DaleYoung chapter8]# perl eg16.pl
          gjksrdhtg   trhaesjth
搞不懂了,我想替换字母的,怎么数字倒全变成空格了呀?
如果把$string1=~ tr/_a-zA-Z/ /c;换成$string1=~ tr/\d/ /c;结果更吓人.
请教原因
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表