问题描述
案例:
我有一个字符串 $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);