我想用换行符分割字符串的单词。
我试过了:
$string = 'One Two Three';
my @array3 = split("\n",$string);
我希望输出如下:
One
Two
Three
这可以在不使用for循环的情况下实现吗?
答案 0 :(得分:12)
您想要使用split
功能,在空间区域上分割$string
(" "
是特殊的)。然后使用生成的列表和join
使用换行符"\n"
。
my $string = 'One Two Three';
my $output = join "\n", split " ", $string;
(查看http://ideone.com/Sd0Wp处执行)
在您的代码中,您将字符串拆分为换行符。当然,这只返回一个值,因为没有换行符。
答案 1 :(得分:5)
此任务不需要使用拆分连接 只需使用正则表达式将所有空格替换为换行符。
$string = 'One Two Three';
$string =~ s/\s/\n/g;
print $string;
答案 2 :(得分:1)
试试这个:
$string = 'One Two Three';
my @array3 = split (' ', $string);
print join ("\n", @array3);
这将在空格上拆分字符串,并在打印时将它们与换行符连接起来。
答案 3 :(得分:1)
您的字符串不包含换行符。可能你需要用空格字符拆分它。所以试试这段代码:
$string = 'One Two Three';
my @array3 = split(/\s+/,$string);