我正在尝试使用this代码(ruby 1.8.7):
line = "abc"
"#{line}☃".encode('utf-8')[0..-2].scan(/\p{Katakana}/)
但它会返回undefined method 'encode' for "abc\342\230\203":String (NoMethodError)
。
您可以在此处运行该程序:http://codepad.org/nh6cAqHT
答案 0 :(得分:10)
您可能正在使用旧版本的ruby。这是available in 1.9.3 但是not in 1.8.7,请检查您正在使用的版本。
1.9.3p194 :001 > line = "abc"
=> "abc"
1.9.3p194 :002 > "#{line}☃".encode('utf-8')[0..-2].scan(/\p{Katakana}/)
=> []
工作正常。