Re: [問題] 請問抓取字串

看板Perl作者 (jet)時間17年前 (2007/10/12 12:58), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/3 (看更多)
※ 引述《LiloHuang (相見不如懷念)》之銘言: : ※ 引述《higoodman (我是正好人)》之銘言: : : 我有一個字串裡面包含 XX大學YYY 的字樣, : : 請問可有辦法利用 大學 兩字來抓取出 XX 和 YYY? : : 謝謝... : $_ = 'XX大學YYY'; : if(/(..)大學(...)/) { : print "$1,$2",$/; : } 如果"大學" 這兩個字有其怪符號的話 程式碼需加上 use encoding 'big5', STDIN => 'big5', STDOUT => 'big5'; 這樣中文字在regular expression 裡面比較不會出問題 不過用這行會有其他的效果就是 一般不加encoding這行的話 要處理中文字用以下寫法吧 $str="xx大學yy"; if($str =~ /(.*?)\Q大學\E(.*?)/) { ($front, $rear) = ($1, $2); } #ps:用\Q \E包住字串 用using big5的話 length("中文字") 會變成3 split //,$string 也會把中文當作一個token 而不是把中文切開成兩個bytes $big5 = "[\xA1-\xF9][\x40-\x7E\xA1-\xFE]"; $input=~/$big5/; 這種寫法也不能用 不會還是有方法可以解決就是 :p 處理中文的時候要特別小心就是 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.121.197.133

10/14 19:33, , 1F
基本上沒有衝碼的話不需要做太多額外處理 會增加負擔
10/14 19:33, 1F
文章代碼(AID): #173lxrDs (Perl)
討論串 (同標題文章)
文章代碼(AID): #173lxrDs (Perl)