我有一个类似的清单
1,2,3
11,12,14
1,6,8
我应该如何将这些数字分成
1
2
3
11
12
14
1
6
8
我试过了
@num=(1,2,3
11,12,14
1,6,8);
$splitnum=$splitnum.','.$num;
但它没有用。请帮我。
谢谢
我有一个类似的清单
1,2,3
11,12,14
1,6,8
我应该如何将这些数字分成
1
2
3
11
12
14
1
6
8
我试过了
@num=(1,2,3
11,12,14
1,6,8);
$splitnum=$splitnum.','.$num;
但它没有用。请帮我。
谢谢
您一定在考虑另一种语言,因为该分配将导致 perl 中的语法错误。您可以通过引用字符串轻松修复它。
my @num = ("1,2,3",
"11,12,14",
"1,6,8");
我不知道你的另一条线是什么意思,但它仍然是错误的。$num
and@num
是 perl 中的两个不同的变量,彼此无关。
你可以做的是:
@num = map split(/,/), @num;
map
@num
将用逗号分割每一行并返回列表。
你应该总是把
use strict;
use warnings;
在你所有的 perl 脚本中。会有错误,但他们会教你避免错误。不使用它们是一个非常糟糕的主意,这就像戴上眼罩而不是戴上头盔来保护你的头部。
首先,split
拆分字符串(而不是数组)并返回列表。所以你的代码应该是。
my $str1="1,2,3,11,12,14,1,6,8";
my @num=split ',',$str1;
my $str2=join ' ',@num;
print $str2;
或者
您也可以使用正则表达式$str=~s/,/ /gm
;