在perl中将空格或逗号分隔的字符串拆分为列表
案例: 我有一个字符串在perl中将空格或逗号分隔的字符串拆分为列表,perl,split,Perl,Split,案例: 我有一个字符串$str=“a,b,c” 如何拆分字符串以获得列表? 我能想到的分裂表达式是: split('[,\s]+',$str) split(/,/,$techoptionGiven) 期望的行为 @array=[abc]您的第一个选项似乎有效: #!/usr/bin/perl use strict; use warnings; use feature 'say'; use Data::Dumper; my $str = "a, b , c"; say
$str=“a,b,c”
如何拆分字符串以获得列表?
我能想到的分裂表达式是:
split('[,\s]+',$str)
split(/,/,$techoptionGiven)代码>
@array=[abc]您的第一个选项似乎有效:
#!/usr/bin/perl
use strict;
use warnings;
use feature 'say';
use Data::Dumper;
my $str = "a, b , c";
say Dumper split('[,\s]+', $str);
输出:
$VAR1 = 'a';
$VAR2 = 'b';
$VAR3 = 'c';
就个人而言,我想强调一个事实,split()
的第一个参数是正则表达式,而不是字符串
say Dumper split(/[,\s]+/, $str);
b
和c
周围的空格应该是数据的一部分,还是应该被删除?您可能不想在空格上拆分,而是在逗号上拆分,并在其周围加空格。也就是说,逗号需要在那里:split/\s*,\s*/,…
。这样,嵌入在值中的空间就不会创建额外的元素。