[問題] 中文比對

看板Perl作者 (米虫三號)時間16年前 (2008/06/05 12:28), 編輯推噓5(5012)
留言17則, 4人參與, 最新討論串1/3 (看更多)
我是用 big5 模式下編寫,然後再用支程式去轉成 utf8 格式 這支程式主要是比對是否有相關字然後做後續的動作 可是當我下中文這個判斷的時候 if($insert_rolec =~/.指.*/) code print $insert_rolec; 我主要想法是,字串中出現「指」這個字就將這個字列印出來 可是怎麼跑都不會跑到下列去 我也有試過把這個變數,跟我想要的字拿來直接做比對 例如 if($insert_rolec eq '指導教授') 可是一樣不能 orz" 請問這大概是啥問題呢? 亦或是我比對那邊寫得不對或是有誤 ._.? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.194.56

06/05 14:16, , 1F
試試 \Q指\E
06/05 14:16, 1F

06/05 15:17, , 2F
1.if($insert_rolec =~m{/Q指導教授/E})
06/05 15:17, 2F

06/05 15:18, , 3F
2.if($insert_rolec =~/\Q指\E/)
06/05 15:18, 3F

06/05 15:18, , 4F
上面這兩個方法我去跑過了都不行說 orz"
06/05 15:18, 4F

06/05 15:31, , 5F
變數$insert_rolec真的有'指'?
06/05 15:31, 5F

06/05 15:34, , 6F
有啊,我呈現部分看得到抓出來有這些字
06/05 15:34, 6F

06/05 15:35, , 7F
可是判斷下面的就是就是沒辦法去跑過 orz"
06/05 15:35, 7F

06/05 15:43, , 8F
編碼都一樣?
06/05 15:43, 8F
※ 編輯: sweetwords 來自: 140.117.147.44 (06/05 15:46)

06/05 15:47, , 9F
我程式可能表達的不好 該是說 我後面是要去做其他處理
06/05 15:47, 9F

06/05 15:48, , 10F
可是 if 後續那些動作都沒有去做 但是 $insert_rolec
06/05 15:48, 10F

06/05 15:48, , 11F
印出來有指導教授這幾個字 '-'
06/05 15:48, 11F

06/05 15:51, , 12F
編碼上我有用資料庫去把這些抓到的資料存進去
06/05 15:51, 12F

06/05 15:52, , 13F
在 utf8 的型態下,還是可以看到指導教授這幾個字 '-'
06/05 15:52, 13F

06/05 19:58, , 14F
/.指.*/ 你的pattern只會match a指xxx b指xxx 不是所有有指
06/05 19:58, 14F

06/05 22:12, , 15F
敢請樓上賜教 感恩 <0>
06/05 22:12, 15F

06/06 00:43, , 16F
字串中是否出現「指」,用if($insert_rolec =~/指/)就好
06/06 00:43, 16F

06/06 01:03, , 17F
sorry我說錯了,應該是說你那樣,指前面就一定要隨便有東西
06/06 01:03, 17F
文章代碼(AID): #18Hsk4zS (Perl)
討論串 (同標題文章)
文章代碼(AID): #18Hsk4zS (Perl)