Re: [問題] 陣列

看板Perl作者時間12年前 (2013/04/18 22:33), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串6/6 (看更多)
大家好,小弟最近有筆資料很類似, 原始資料如下 想轉出的格式 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
第二個if區塊內的第一列述敘 理應產生沒有任一個元素含有\s的
04/18 23:52, 1F

04/18 23:53, , 2F
陣列不是嗎? 但輸出中仍然是滿滿的空白和換行...這到底是?
04/18 23:53, 2F

04/19 22:12, , 3F
f大,不好意思,已修正,輸出的內容正是您說的樣子
04/19 22:12, 3F
※ 編輯: hws110 來自: 111.253.114.115 (04/19 22:12)
文章代碼(AID): #1HS0H6T2 (Perl)
討論串 (同標題文章)
文章代碼(AID): #1HS0H6T2 (Perl)