Pau*_*kov 1 string perl substring
我编写了rmlz
用于修剪字符串中所有前导零的函数。
# remove all leading zeroes from string
use strict;
use warnings;
use feature 'say';
sub rmlz {
my ( $str ) = @_;
if ( $str =~ /^(.[0])/ ) {
return substr( $str, length($1));
}
return $str;
}
say rmlz('0050625'); # must return 50625
Run Code Online (Sandbox Code Playgroud)
有没有最优雅,最清晰的方法来重写此代码?还是regexp + length + substr是最好的选择?
一个简单的替换将删除前导零:
$str =~ s/^0+(?=[0-9])//;
Run Code Online (Sandbox Code Playgroud)
这将删除尽可能多的零,同时仍保留至少一位数字。需要后面的约束来防止“ 0”变为“”。
归档时间: |
|
查看次数: |
90 次 |
最近记录: |