作者AntaresStar ()
看板Perl
標題Re: [問題] 取值
時間Sat Apr 12 22:40:31 2014
雖然好像是以*為分隔 但切開後又要排序
那不如連逗點也一起拿來切了
這樣如何
#!/usr/bin/perl
while (<DATA>) {
my @a = grep {/\S/} split /[,*]/;
my $b = shift @a;
@a ? map {print "$b $_\n"} sort @a : print "$b\n";
}
__DATA__
ID2*1,2,4*2,3,4*
ID3**2*
ID4***
※ 引述《yalent ( 心只有妳 )》之銘言:
: 大家好,小弟有一個檔案內容為
: ID2*1,2,4*2,3,4*
: ID3**2*
: ID4***
: 想將內容轉為
: ID2 1
: ID2 2
: ID2 2
: ID2 3
: ID2 4
: ID2 4
: ID3 2
: ID4
: 小弟目前只有辦法取值(如下),但是要排成我想要的樣子..毫無頭緒..
: if ($_ =~ /(.*)\*(.*)\*(.*)\*/ )
: {
: print "$1 $2 $3\n"
: }
: 不曉得關於這個部份要怎麼處理呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.43.171.55
※ 文章網址: http://www.ptt.cc/bbs/Perl/M.1397313634.A.F89.html
※ 編輯: AntaresStar (114.43.171.55), 04/12/2014 22:41:10
※ 編輯: AntaresStar (114.43.171.55), 04/12/2014 22:42:32
推 yalent:感謝您~ 04/13 11:14
推 hhs66317:真讚~~比我的做法好多了。。 06/01 10:00