Re: [問題] 請問抓取字串
※ 引述《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
討論串 (同標題文章)
Perl 近期熱門文章
PTT數位生活區 即時熱門文章