2017-07-19 31 views
0

我有一些值用方括號括起來,並用逗號分隔,我想從該數組中刪除方括號和逗號的值。例如。如何使用Perl子串從數組中檢索僅值

[3,5,6,1,7,9,2,8] 

我的代碼:

my $li=[1,2,3,4,5,6,7,8,9]; 
my $l=substr($li,1,length($li)-2); 
my @ar=split(",",$l); 
my $a; 
foreach $a (@ar) 
{ print/n$a; } 

我想通過在Perl使用substr得到的值作爲3 5 6 1 7 9 2 8。 我有一個代碼,但我不明白它有點複雜,你可以請任何人解釋它。

+3

爲什麼你要使用'substr'這個?你如何期待我們解釋我們看不到的代碼? – melpomene

+0

你可以使用拆分嗎? https://perlmaven.com/perl-split – admcfajn

+1

my $ li = [1,2,3,4,5,6,7,8,9]; my $ l = substr($ li,1,length($ li)-2); my @ ar = split(「,」,$ l); my $ a; foreach $ a(@ar) { \t print/n $ a; } –

回答

0

只要你試試這個:

my $str = "[3,5,6,1,7,9,2,8]"; 

my @htm = map { $_=~s/(\[|\])//g; $_; } split /\,/, $str; 

print "Each item: $_\n" foreach(@htm);