看板 Ruby 關於我們 聯絡資訊
請問一下各位 小弟使用的是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
mars90226:就是do/end阿~ 你可以參考http://tinyurl.com/86zvo63 08/23 19:49
ireullin:我個人是比較習慣看do-end 08/24 10:25
ireullin:不知這在實際執行上是否有差別 08/24 10:25
j0214ack:把encoding換成utf8看看? 08/24 12:37
j0214ack:#encoding: utf-8 08/24 12:37
ireullin:我試過了還是不行 08/24 17:22
ireullin:我程式碼的文檔本身也有轉成utf-8 08/24 17:23