我如何把一个字符串转换成Ruby中的小写或大写?


当前回答

Ruby有一些方法可以改变字符串的大小写。要转换成小写字母,请使用小写字母:

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

类似地,大写大写每个字母,大写大写字符串的第一个字母,但小写其余字母:

"hello James!".upcase      #=> "HELLO JAMES!"
"hello James!".capitalize  #=> "Hello james!"
"hello James!".titleize    #=> "Hello James!" (Rails/ActiveSupport only)

如果你想修改一个字符串,你可以在这些方法中添加一个感叹号:

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

有关更多信息,请参阅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  ÁÂÃÀÇÉÊÍÓÔÕÚ"

不是每个都适用,但这节省了我很多时间。我只是有一个CSV返回“TRUE或“FALSE”的问题,所以我只是添加了VALUE.to_s。downcase == "true",如果值为"true"则返回布尔值true,如果值为" false "则返回false,但对于布尔值true和false仍然有效。

结合try方法,支持nil值:

'string'.try(:upcase)
'string'.try(:capitalize)
'string'.try(:titleize)

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

"string".downcase

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

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

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