Re: [問題] 重複性的資料

看板Perl作者 (南瓜)時間18年前 (2007/08/17 13:53), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/4 (看更多)
※ 引述《roy8130 (reputation)》之銘言: : 當重複遇到X=24 & Y=1時候 把更新的 value , 覆蓋到第一個 : X=24 & Y=1的位置 : 每ㄧ個集合為 { : X=24 : Y=1 : 14 : 2 : 6 : 30 : } : test.txt ------------------------> output results open FH, "<", "test.txt"; my $str = join("", <FH>); close FH; my %hash; ## 存放資料,以 X=...\nY=...\n 為 key my @arr; ## 紀錄每一個 key 出現的前後順序 while ( $str =~ s/(X=\d+\nY=\d+\n)([^X]+)// ) { if ( not exists $hash{$1} ) { push @arr, $1; ## 遇到沒看過的 key 就放進 @arr 裡 } $hash{$1} = $2; } foreach my $str (@arr) { print $str, $hash{$str}; } 註:這裡用 X 來判斷資料間的分隔,所以如果 value 裡有 X 的話程式就會錯。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.23.102
文章代碼(AID): #16nJV5vI (Perl)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 3 之 4 篇):
文章代碼(AID): #16nJV5vI (Perl)