如何在 Ruby 中将字符串转换为小写或大写

如何在 Ruby 中将字符串转换为小写或大写?

答案

Ruby 有几种更改字符串大小写的方法。要转换为小写,请使用downcase

"hello James!".downcase    #=> "hello james!"

同样, upcase字母将每个字母capitalizecapitalize字母将第一个字母大写,其余字母小写:

"hello James!".upcase      #=> "HELLO JAMES!"
"hello James!".capitalize  #=> "Hello james!"
"hello James!".titleize    #=> "Hello James!"

如果要在适当位置修改字符串,则可以将惊叹号添加到以下任何方法中:

string = "hello James!"
string.downcase!
string   #=> "hello james!"

有关更多信息,请参考String 文档

您可以通过打开 irb 并运行以下命令来找到 String 上可用的所有方法:

"MyString".methods.sort

并特别列出了可用于字符串的方法:

"MyString".own_methods.sort

我用它来发现关于对象的新颖有趣的事情,否则我可能不知道存在。

就像提到的 @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 敏感。

ruby downcase方法返回一个字符串,其大写字母替换为小写字母。

"string".downcase

https://ruby-doc.org/core-2.1.0/String.html#method-i-downcase

...,大写为:

"Awesome String".upcase
=> "AWESOME STRING"

Rails Active Support gem 提供了具有国际化支持的upcasedowncaseswapcasecapitalize等方法:

gem install activesupport
irb -ractive_support/core_ext/string
"STRING  ÁÂÃÀÇÉÊÍÓÔÕÚ".mb_chars.downcase.to_s
 => "string  áâãàçéêíóôõú"
"string  áâãàçéêíóôõú".mb_chars.upcase.to_s
=> "STRING  ÁÂÃÀÇÉÊÍÓÔÕÚ"

您可以找到类似"strings".methods字符串方法。方法可以将 string 定义为upcasedowncasetitleize 。例如,

"hii".downcase
"hii".titleize
"hii".upcase

.swapcase方法将字符串中的大写字母转换为小写,并将小写字母转换为大写。

'TESTING'.swapcase #=> testing
'testing'.swapcase #=> TESTING

从 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

不会为每个人工作,但这只是节省了我很多时间。我刚刚遇到了 CSV 返回 “TRUE 或 “ FALSE” 的问题,所以我刚刚添加了 VALUE.to_s.downcase ==“true”,如果值是 “TRUE” 则返回布尔值 true,如果值是 “FALSE” 则返回 false ”,但仍适用于布尔值 true 和 false。