[問題] 請問在正規表達法中使用中文

看板Ruby作者 (raison detre)時間12年前 (2012/08/23 16:06), 編輯推噓4(409)
留言13則, 4人參與, 最新討論串1/1
請問一下各位 小弟使用的是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

08/23 16:14, , 1F
我沒有耶...奇怪?
08/23 16:14, 1F

08/23 16:18, , 2F
我測試 s = "測試字串"; re = /字/; puts s =~ re #=>2
08/23 16:18, 2F

08/23 16:18, , 3F
我也有加#encoding:big5,不過我是用1.9.3
08/23 16:18, 3F

08/23 16:19, , 4F
另外說,開檔用block比較好看(?)
08/23 16:19, 4F

08/23 16:21, , 5F
請問block是?
08/23 16:21, 5F

08/23 19:47, , 6F
就是do end或是 {}
08/23 19:47, 6F

08/23 19:49, , 7F
就是do/end阿~ 你可以參考http://tinyurl.com/86zvo63
08/23 19:49, 7F

08/24 10:25, , 8F
我個人是比較習慣看do-end
08/24 10:25, 8F

08/24 10:25, , 9F
不知這在實際執行上是否有差別
08/24 10:25, 9F

08/24 12:37, , 10F
把encoding換成utf8看看?
08/24 12:37, 10F

08/24 12:37, , 11F
#encoding: utf-8
08/24 12:37, 11F

08/24 17:22, , 12F
我試過了還是不行
08/24 17:22, 12F

08/24 17:23, , 13F
我程式碼的文檔本身也有轉成utf-8
08/24 17:23, 13F
文章代碼(AID): #1GDUHzCy (Ruby)
文章代碼(AID): #1GDUHzCy (Ruby)