Re: [問題] 請問使用檔案比對時?
將你的檔內容存成temp1.txt跟temp2.txt
##############################################################################
open f1,"<temp2.txt";
chomp(@pattern=<f1>);
close f1;
open f1,"<temp1.txt";
while ($line=<f1>){
for (@pattern){
$flag=($line=~s/$_/<NP>/) ;
print $line if ($flag);
}
}
close f1;
##############################################################################
個人是覺得廢字還是太多.......應該還有更多改進空間...
※ 引述《Yaowei (成就你的大事)》之銘言:
: 我現在的想法是將檔案2先讀進來
: 然後存在一個陣列中
: 然後再將檔案1進行讀檔的動作
: 只是現在卡在比對的方式
: 因為若直接比對陣列,好像不能直接比到?(常規表示式)
: 二來若改成將檔案2讀進來
: 存成一個hash
: 那麼應該是只要可以在hash中可以找到的話
: 則不需要像array那樣子重頭比到完
: 只是不確定若用hash的話 那麼它的程式要如何來表示= = ?
: 若有人知道願意分享討論的 就先謝過了^^
: ※ 引述《Yaowei (成就你的大事)》之銘言:
: : 若我有一個檔案1內容有多個句子。分別是以\n為一行存起來
: : 例如:
: : I am a teacher.
: : They are people.
: : You are a undergraduate school student.
: : He is a boy.
: : She is a girl.
: : She is your best friend.
: : -------------------------------------------
: : 我又有一個檔案2,內存著以下資料,也是以\n做分隔
: : teacher
: : undergraduate school student
: : best friend
: : -------------------------------------------------
: : 若我希望將檔案1內的資料透過使用檔案2的資料只要有比對到的話
: : 則替換成我要的標籤。
: : 希望印出來的結果如下:
: : I am a <NP>.
: : You are a <NP>.
: : She is your <NP>.
: : -------------------------
: : 謝謝了= =+ 感恩
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.123.199
推
03/11 12:31, , 1F
03/11 12:31, 1F
推
03/11 13:47, , 2F
03/11 13:47, 2F
推
03/11 13:52, , 3F
03/11 13:52, 3F
推
03/11 18:13, , 4F
03/11 18:13, 4F
討論串 (同標題文章)
Perl 近期熱門文章
PTT數位生活區 即時熱門文章