如果该值仅包含零,如何删除所有前导零但保留最后一个零?
例如:
my $number = "0000";
我想拥有:
my $number = "0";
我试过:
$number =~ s/^0*//;
但这当然会删除这种情况下的所有零。
最佳答案
这应该有效:
$number =~ s/^0*(\d+)$/$1/;
0 -> 0
0000 -> 0
0001 -> 1
编辑:事实证明这有点太复杂了。这也应该有效:
$number =~ s/0*(\d+)/$1/;
但我不确定哪个更好,取决于用例。
请查看来自 Oesor 的答案:它也很可爱,不涉及正则表达式。
关于regex - 删除前导零但不是全零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5678455/