作者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://webptt.com/cn.aspx?n=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
1F:推 yalent:感谢您~ 04/13 11:14
2F:推 hhs66317:真赞~~比我的做法好多了。。 06/01 10:00