Nan*_*ira 5 ruby unicode gem ruby-1.9
不幸的是,Unicode 0.1(sudo gem install unicode
)不适用于Ruby 1.9.我有以下代码段:
require "rubygems"
require "unicode"
str = "áéíóúç"
Unicode.normalize_KD(str).gsub(/[^\x00-\x7F]/n, "")
#=> aeiouc
Run Code Online (Sandbox Code Playgroud)
我使用它将标题转换为固定链接,而不删除重音字符.
有没有办法使用pack
或unpack
方法转换这些文本?
mol*_*olf 13
更新:更好的选择可能是使用unicode_utils
专门为这些缺失的功能创建的gem :
require "unicode_utils"
UnicodeUtils.nfkd("áéíóúç").gsub(/[^\x00-\x7F]/,'').to_s
#=> "aeiouc"
Run Code Online (Sandbox Code Playgroud)
您是否有可能依赖Rails的ActiveSupport?然后,您可以执行以下操作:
require "activesupport"
mb_str = ActiveSupport::Multibyte::Chars.new("áéíóúç")
mb_str.normalize(:kd).gsub(/[^\x00-\x7F]/,'').to_s
#=> "aeiouc"
Run Code Online (Sandbox Code Playgroud)
ActiveSupport::Multibyte
是为了给Ruby 1.8带来UTF-8/Unicode支持,但在1.9中工作正常.如果您不希望它作为外部依赖项,您可以借用一些代码.
归档时间: |
|
查看次数: |
3330 次 |
最近记录: |