作者bustta (華麗的冒險)
看板Perl
標題[問題] 字串比對處理
時間Sun Jun 8 03:33:29 2008
目前正著手轉碼的工作,目前有類似以下兩種字串
$str1 = c
¥¿ªù¤f¹D¸¸ô01 ;
$str2 = a
¥¿ªù_¸ô¼Ð¬W08 ;
黃字部分是主要要進行轉碼的字串,因為檔案裡面兩種格式都有,所以必須先進行
判別的工作,小弟如此寫:
if ($line =~ m/(.*?)(&.*;)(.*)/g || $line =~ m/(.*?)(&.*;[\w])(.*)/g)
後再將$2的字串提出出來轉碼。
結果無法成功所以才來此求救...主要||前的寫法對於str2最後的W他會漏掉,因此才加了
||後的寫法,但還是行不通,執行結果跟沒有寫||後的結果相同;
另外只有寫if ($line =~ m/(.*?)(&.*;[\w])(.*)/g) 這樣的話,當然它str1只會處理綠
色底處。
小弟想請教是否有建全的方法來處理這兩類字串呢?
麻煩各位了 <(_ _)>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.116.41.73
※ 編輯: bustta 來自: 59.116.41.73 (06/08 03:34)
※ 編輯: bustta 來自: 59.116.41.73 (06/08 03:42)
1F:推 LiloHuang:s/&#x([a-fA-F0-9]{2});/pack("C", hex($1))/eg; print; 06/08 11:02
2F:→ bustta:=Q= 簡潔實用,真威...受教了,謝謝^^~ 06/08 18:30