Re: [問題] 陣列
大家好,小弟最近有筆資料很類似,
原始資料如下 想轉出的格式
name GRA GRB GRC |name GRA
0 "a1:X " X ## NC |0 "a1:X " X ## NC
1 "a1:1 " O ## NC |1 "a1:1 " O ## NC
|name GRB
|0 "a1:X " X ## NC
|1 "a1:1 " O ## NC
|name GRC
|0 "a1:X " X ## NC
|1 "a1:1 " O ## NC
name RXINE RXINO |name RXINE
0 "a1:0 " 0000 |0 "a1:0 " 0000
1 "a1:0 " 0001 |1 "a1:0 " 0001
2 "a1:0 a3:1 " XXXX |2 "a1:0 a3:1 " XXXX
3 "a1:0 a6:1 " 0111 |3 "a1:0 a6:1 " 0111
4 "a1:1 a6:0 " 1000 |4 "a1:1 a6:0 " 1000
a "a1:1 a3:0 " 1IOO |a "a1:1 a3:0 " 1IOO
b "a1:1 " 1110 |b "a1:1 " 1110
|name RXINO
|0 "a1:0 " 0000
|1 "a1:0 " 0001
|2 "a1:0 a3:1 " XXXX
|3 "a1:0 a6:1 " 0111
|4 "a1:1 a6:0 " 1000
|a "a1:1 a3:0 " 1IOO
|b "a1:1 " 1110
就參考d大的程式,寫了如下的程式碼,一開始先開檔讀檔
if (/^name (.*)/){
@name = split, $&;
shift @name;
}
if (/\s+\w\s+\"(.*)\"\s+\w+/){
@value = split, $_;
print "\n\nname $_\n", @value[0..$#value] for @name;
}
輸出的結果是這樣
name GRA
0"a1:X"X##NC
name GRB
0"a1:X"X##NC
name GRC
0"a1:X"X##NC
name GRA
1"a1:1"O##NC
name GRB
1"a1:1"O##NC
name GRC
1"a1:1"O##NC
name RXINE
0"a1:0"0000
name RXINO
0"a1:0"0000
name RXINE
1"a1:0"0001
name RXINO
1"a1:0"0001
name RXINE
2"a1:0a3:1"XXXX
name RXINO
2"a1:0a3:1"XXXX
請問各位板友,變成這樣要怎麼修改比較好呢?
感謝回答~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.253.114.115
→
04/18 23:52, , 1F
04/18 23:52, 1F
→
04/18 23:53, , 2F
04/18 23:53, 2F
→
04/19 22:12, , 3F
04/19 22:12, 3F
※ 編輯: hws110 來自: 111.253.114.115 (04/19 22:12)
討論串 (同標題文章)
Perl 近期熱門文章
PTT數位生活區 即時熱門文章