我想将字符串2018_12_03转换为20181203。
现在我找到了解决方法。
$varName =~ s#_##;
输出
201812_03
要删除第二个下划线,我再次做了相同的操作。
$varName =~ s#_##;
$varName =~ s#_##;
输出2
20181203
它可以工作,但是看起来不太好,所以我的问题是,是否可以一次删除所有下划线?
答案 0 :(得分:6)
如果您只想删除所有出现的单个字符,则可以使用音译代替替换。
$varName =~ tr/_//d;
/d
的意思是“删除”:没有任何要音译的字符将被删除。
答案 1 :(得分:4)
默认情况下,正则表达式替换仅替换第一个匹配项。您可以通过指定modifier g
来替换所有匹配项:
$varName =~ s#_##g;