如何使Ruby 1.8将非拉丁字符转换为小写?

6

我正在使用Ruby 1.8版本。似乎downcase方法不会改变非拉丁字符。例如:

"Δ".downcase

返回"Δ"

我知道在Ruby 1.9.1及更高版本中,我可以使用Unicode Utils(从这里获取)。我已经尝试过它,并且它运行良好。对于前面的示例,返回"δ"

是否有等效或任何解决方案适用于1.8版的Ruby?

1个回答

3
nash@nash:~$ ruby -v
ruby 1.8.7 (2011-02-18 patchlevel 334) [i686-linux]

gem install unicode (https://rubygems.org/gems/unicode)

请执行此命令以安装Unicode gem(宝石),下载链接为https://rubygems.org/gems/unicode。
require 'unicode'

$KCODE = 'u'
p Unicode::downcase "Δ" #=> "δ"

非常感谢。看起来它正在工作。你在生产应用中尝试过吗?你的经验是什么?还有一个可能不适用的问题。这个库的文档说函数的参数必须是UTF-8字符串。Ruby 1.8字符串默认是UTF-8吗? - p.matsinopoulos

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接