我如何把一个字符串转换成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的文档。
其他回答
从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
ruby downcase方法返回一个大写字母替换为小写字母的字符串。
"string".downcase
https://ruby-doc.org/core-2.1.0/String.html#method-i-downcase
你可以通过打开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有一些方法可以改变字符串的大小写。要转换成小写字母,请使用小写字母:
"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的文档。