我有一个字符串,其中包含很多空格。
my $str=" hello";
检查行是否以空格开头是什么条件?
答案 0 :(得分:5)
不需要正则表达式:
substr($str, 0, 1) eq " "
答案 1 :(得分:5)
您不需要substr
或正则表达式!
ord($str) == 32
而且,如果你进行了十亿次这样的比较,你应该注意到性能的提升:
use Benchmark qw(cmpthese);
my $str = " hello";
cmpthese(0, {
regex => sub { $str =~ /^ / },
substr => sub { substr($str, 0, 1) eq ' ' },
ord => sub { ord($str) == 32 },
});
结果:
Rate regex substr ord
regex 6473675/s -- -43% -70%
substr 11300632/s 75% -- -48%
ord 21653474/s 234% 92% --
答案 2 :(得分:4)