将ÅÄÖ转换为A A O.

时间:2011-04-05 15:34:35

标签: ruby

  

可能重复:
  How do I replace accented Latin characters in Ruby?

是否有一种简单的方法可以将任何不等于a-z的字母转换为a-z?

我希望例如将Ü转换为U,将Ö转换为O等等,我不关心大写和小写字母。

这是我到目前为止。

{"ä" => "a", "å" => "a", "ö" => "o"}.each do |from, to|
  string.gsub!(/#{from}/i, to)
end

但我不想指明每一个字。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

使用tr方法。

 string.tr!( "äåö", "aao" );

答案 1 :(得分:2)

对于比String#tr更通用的解决方案,请查看stringex gem。 http://github.com/rsl/stringex