Re: [问题] 取值

楼主: AntaresStar   2014-04-12 22:40:31
虽然好像是以*为分隔 但切开后又要排序
那不如连逗点也一起拿来切了
这样如何
#!/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"
: }
: 不晓得关于这个部份要怎么处理呢?
作者: yalent ( 心只有妳 )   2014-04-13 11:14:00
感谢您~
作者: hhs66317 (六子)   2014-06-01 10:00:00
真赞~~比我的做法好多了。。

Links booklink

Contact Us: admin [ a t ] ucptt.com