在Perl中立即删除下划线

poi*_*isn 0 regex perl

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

现在,我找到了解决方法。

$varName =~ s#_##;
Run Code Online (Sandbox Code Playgroud)

输出量

201812_03

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

$varName =~ s#_##;
$varName =~ s#_##;
Run Code Online (Sandbox Code Playgroud)

输出2

20181203

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

cho*_*oba 6

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

$varName =~ tr/_//d;
Run Code Online (Sandbox Code Playgroud)

/d手段“删除”:什么都没有音译为将要删除的字符。