2013-04-08 115 views
0

如何分割數組中的下面的字符串? 我試過拆分(),但它也分裂了雙引號字符串....但是我不想分裂雙引號字符串。在逗號分割,但只有當不在雙引號

Apple,"String1,String2",Abcd,EFGH,XYZ 

輸出應該是這樣的:

Apple 
"String,String2" 
Abcd 
EFGH 
XYZ 
+4

你處理一個CSV文件?使用[Text :: CSV](http://p3rl.org/Text::CSV)。 – choroba 2013-04-08 09:16:46

+1

@choroba'Text :: CSV'沒有默認安裝在* perl-base *包中,而'Text :: ParseWords'完成了**工作,**是* perl-base *的一部分。請參閱'perldoc perlfaq4'(或'man perlfaq4') – 2013-04-08 09:46:52

回答

2

使用Text::CSV

#!/usr/bin/env perl 
use strict; 
use warnings; 
use 5.010; 

use Text::CSV; 

my $parser = Text::CSV->new; 
$parser->parse(qq(Apple,"String1,String2",Abcd,EFGH,XYZ)); 
say join "---", $parser->fields; 

輸出:

Apple---String1,String2---Abcd---EFGH---XYZ 
+0

'Text :: CSV'似乎並未安裝在我的'perl-base'軟件包中,而'Text :: ParseWords'完成這項工作並且是'perl- base'。 – 2013-04-08 09:45:13

相關問題