Re: [問題] 中文比對

看板Perl作者 (米虫三號)時間16年前 (2008/06/06 02:21), 編輯推噓1(104)
留言5則, 2人參與, 最新討論串2/3 (看更多)
我將我整段程式貼出來,敢請各位前輩指教 ._.)> #如果 array 存在就跑這一段 if(@insert_inspectorc) { #抓大小跑迴圈 $number_contributor=@insert_inspectorc; for(0..$number_contributor) { #判斷教授頭銜是否有指這個字 PS:已經修改過板友提示的部份 #但還是抓不到 XD" if($insert_rolec[$_]=~/指/) { #移除指導教授名字中間空格的 $insert_inspectorc[$_]=~s/[ ]+//g; #將教授名字存到 $advisor 變數 $advisor.=":".@insert_inspectorc[$_]; } } } 我後續有將 @insert_inspectorc 這個陣列列印出來, 一切正常,都可以看到指導教授這幾個字,跟每位教授的名字 EX: 指導教授 張三 advisor three 委員 李四 committe four 而這段後面是跑英文比對的部份, 最後 advisor 要將 張三,three 這樣串在一起 而 $advisor 確實都有抓到我要的 ,three 這一部份 可是不知道為啥就是 張三抓不進來 我後續串在一起是這樣寫的 $advisor.=",".@insert_inspector[$_]; 應該也沒有錯,重點應該就是在為啥中文一直跑不過去 困惑 Q_Qa ※ 引述《sweetwords (米虫三號)》之銘言: : 我是用 big5 模式下編寫,然後再用支程式去轉成 utf8 格式 : 這支程式主要是比對是否有相關字然後做後續的動作 : 可是當我下中文這個判斷的時候 : if($insert_rolec =~/.指.*/) code : print $insert_rolec; : 我主要想法是,字串中出現「指」這個字就將這個字列印出來 : 可是怎麼跑都不會跑到下列去 : 我也有試過把這個變數,跟我想要的字拿來直接做比對 : 例如 : if($insert_rolec eq '指導教授') : 可是一樣不能 orz" : 請問這大概是啥問題呢? : 亦或是我比對那邊寫得不對或是有誤 ._.? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.194.56

06/06 07:45, , 1F
$insert_rolec => $insert_inspectorc
06/06 07:45, 1F

06/06 07:46, , 2F
for(0..$number_contributor) =>
06/06 07:46, 2F

06/06 07:46, , 3F
for(0..$number_contributor - 1)
06/06 07:46, 3F

06/06 09:11, , 4F
role是存頭銜 inspectorc 是存名字沒錯 ._.
06/06 09:11, 4F

06/06 09:12, , 5F
所以應該是用 role 去判斷吧 '-'
06/06 09:12, 5F
文章代碼(AID): #18I2wyjf (Perl)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):
文章代碼(AID): #18I2wyjf (Perl)