我如何把一个字符串转换成Ruby中的小写或大写?
当前回答
swapcase方法将字符串中的大写字母转换为小写字母,将小写字母转换为大写字母。
'TESTING'.swapcase #=> testing
'testing'.swapcase #=> TESTING
其他回答
结合try方法,支持nil值:
'string'.try(:upcase)
'string'.try(:capitalize)
'string'.try(:titleize)
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 ÁÂÃÀÇÉÊÍÓÔÕÚ"
就像@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敏感的。
不是每个都适用,但这节省了我很多时间。我只是有一个CSV返回“TRUE或“FALSE”的问题,所以我只是添加了VALUE.to_s。downcase == "true",如果值为"true"则返回布尔值true,如果值为" false "则返回false,但对于布尔值true和false仍然有效。
ruby downcase方法返回一个大写字母替换为小写字母的字符串。
"string".downcase
https://ruby-doc.org/core-2.1.0/String.html#method-i-downcase
推荐文章
- 我如何检查如果一个变量是JavaScript字符串?
- 如何显示有两个小数点后的浮点数?
- 数组到哈希Ruby
- 在Lua中拆分字符串?
- 我如何让红宝石打印一个完整的回溯而不是截断一个?
- 如何在Python中按字母顺序排序字符串中的字母
- python: SyntaxError: EOL扫描字符串文字
- PHP子字符串提取。获取第一个'/'之前的字符串或整个字符串
- 如何使用RSpec的should_raise与任何类型的异常?
- 如何创建退出消息
- 忽略GEM,因为没有构建它的扩展
- 在Gem::Specification.reset期间未解决的规格:
- Delete_all vs destroy_all
- 双引号vs单引号
- 用any可以吗?'来检查数组是否为空?