我发现了一些奇怪的事情split。我想它不会解析空白内容,直到最后有东西为止。
我有一个以逗号分隔的字符串。但是,当末尾有重复的分隔符时,它们不会被添加到数组中,直到末尾有这样的东西:
use warnings;
use strict;
use Data::Dumper;
my $str = "ABC,123,,,,,,"; # just ABC and 123
#my $str = "ABC,123,,,,,,this"; # now it shows the blanks.
my @elems = split ',', $str;
print Dumper \@elems;
Run Code Online (Sandbox Code Playgroud)
任何其他方式,例如正则表达式?或者我应该欺骗数组然后pop最后的内容?
too*_*lic 14
您可以指定负 LIMIT:
my $str = "ABC,123,,,,,,";
my @elems = split ',', $str, -1;
Run Code Online (Sandbox Code Playgroud)
从分裂:
如果 LIMIT 为负,则将其视为任意大;生成尽可能多的字段。
如果 LIMIT 被省略(或等效地为零),则通常将其视为负数,但尾随空字段将被剥离
Dumper 输出:
$VAR1 = [
'ABC',
'123',
'',
'',
'',
'',
'',
''
];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
153 次 |
| 最近记录: |