在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