作者ireullin (raison detre)
看板Ruby
標題[問題] 請問在正規表達法中使用中文
時間Thu Aug 23 16:06:18 2012
請問一下各位
小弟使用的是ruby 1.91 作業系統是win7
下列是我的程式碼
如果我使用include? 去過濾字串是可以成功的
可是如果使用正規表達法就會出現invalid multibyte char的問題
請問這個問題該如何處理呢
#encoding: big5
_reader = File.new('BS.LOG','r')
_writer = File.new('rc.txt','w')
_reader.each do |line|
#if(line =~ /開始讀取/ ) # 這樣寫就會出錯
if(line.include?('開始讀取') )
_writer.puts line
end
end
_writer.close
_reader.close
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.250.130.211
推 mars90226:我沒有耶...奇怪? 08/23 16:14
→ mars90226:我測試 s = "測試字串"; re = /字/; puts s =~ re #=>2 08/23 16:18
→ mars90226:我也有加#encoding:big5,不過我是用1.9.3 08/23 16:18
→ mars90226:另外說,開檔用block比較好看(?) 08/23 16:19
→ ireullin:請問block是? 08/23 16:21
推 cation234:就是do end或是 {} 08/23 19:47
→ ireullin:我個人是比較習慣看do-end 08/24 10:25
→ ireullin:不知這在實際執行上是否有差別 08/24 10:25
推 j0214ack:把encoding換成utf8看看? 08/24 12:37
→ ireullin:我試過了還是不行 08/24 17:22
→ ireullin:我程式碼的文檔本身也有轉成utf-8 08/24 17:23