在another question有人问到如何更换Umlaute。接受的问题是,下面的代码:为什么这个Unicode gsub替换在Ruby中不起作用?
# encoding: utf-8
foo = "ich bin doch nicht blöd, mann!".gsub(/[äöü]/) do |match|
case match
when "ä" 'ae'
when "ö" 'oe'
when "ü" 'ue'
end
end
puts foo
然而,当我尝试运行此,输出是:
$ ruby /tmp/test.rb
ich bin doch nicht bld, mann!
所以Umlaute显然没有得到更换。 有什么我失踪?我使用Ruby 1.9.3p362(2012-12-25修订38607)x86_64的Linux的]
这是快速和作品。谢谢!任何想法为什么其他代码不起作用? (我会在10分钟内接受你的答案,因为这是接受之前等待的最短时间) –
这真的很难看(想想,ä,Ö,ö,Ü,ü和ß;éè等) – steenslag