首页 > 解决方案 > 在 Perl 中一次删除下划线

问题描述

我想将字符串 2018_12_03 转换为 20181203。

现在我找到了一个解决方案。

$varName =~ s#_##;

输出

201812_03

为了删除第二个下划线,我又做了同样的事情。

$varName =~ s#_##;
$varName =~ s#_##;

输出 2

20181203

它有效,但看起来不太好,所以我的问题是,是否可以一次删除所有下划线?

标签: regexperl

解决方案


如果您只想删除所有出现的单个字符,则可以使用音译而不是替换。

$varName =~ tr/_//d;

意思是“删除”:没有可音译的/d字符将被删除。


推荐阅读