我如何把一个字符串转换成Ruby中的小写或大写?
当前回答
就像@endeR提到的,如果国际化是一个问题,unicode_utils gem就足够了。
$ gem install unicode_utils
$ irb
> require 'unicode_utils'
=> true
> UnicodeUtils.downcase("FEN BİLİMLERİ", :tr)
=> "fen bilimleri"
Ruby 2.4中的字符串操作现在是unicode敏感的。
其他回答
你可以通过打开irb并运行以下命令来找到String中所有可用的方法:
"MyString".methods.sort
对于字符串可用的方法列表:
"MyString".own_methods.sort
我用它来发现关于物体的新的和有趣的东西,否则我可能不知道它们的存在。
不是每个都适用,但这节省了我很多时间。我只是有一个CSV返回“TRUE或“FALSE”的问题,所以我只是添加了VALUE.to_s。downcase == "true",如果值为"true"则返回布尔值true,如果值为" false "则返回false,但对于布尔值true和false仍然有效。
... 大写字母是:
"Awesome String".upcase
=> "AWESOME STRING"
Rails Active Support gem提供了upcase, downcase, swapcase,capitalize等国际化支持方法:
gem install activesupport
irb -ractive_support/core_ext/string
"STRING ÁÂÃÀÇÉÊÍÓÔÕÚ".mb_chars.downcase.to_s
=> "string áâãàçéêíóôõú"
"string áâãàçéêíóôõú".mb_chars.upcase.to_s
=> "STRING ÁÂÃÀÇÉÊÍÓÔÕÚ"
从Ruby 2.4开始,就内置了完整的Unicode大小写映射。来源:https://stackoverflow.com/a/38016153/888294。详见Ruby 2.4.0文档:https://ruby-doc.org/core-2.4.0/String.html#method-i-downcase
推荐文章
- c#:如何获得一个字符串的第一个字符?
- String类中的什么方法只返回前N个字符?
- 如何记录Ruby代码?
- 我可以将c#字符串值转换为转义字符串文字吗?
- Ruby:包含的反义词是什么?Ruby数组?
- 在c#中解析字符串为日期时间
- 字符串中的单词大写
- string.ToLower()和string.ToLowerInvariant()
- PHP字符串中的花括号
- 在Ruby中,proc和lambda有什么区别?
- 如何传递参数到一个Rake任务与环境在Rails?
- 获取当前正在执行的方法的名称
- 如何在Rails中计算相对时间?
- 如何删除字符串的第一个和最后一个字符
- String, StringBuffer和StringBuilder