Rubyで文字列を受け取り、それを小文字または大文字に変換するにはどうすればよいですか?
Rubyには文字列の大文字小文字を変えるためのいくつかの方法があります。小文字に変換するには、downcase
を使用します。
"hello James!".downcase #=> "hello james!"
同様に、upcase
はすべての文字を大文字にし、capitalize
は文字列の最初の文字を大文字にしますが、残りは小文字にします。
"hello James!".upcase #=> "HELLO JAMES!"
"hello James!".capitalize #=> "Hello james!"
"hello James!".titleize #=> "Hello James!"
文字列をその場で修正したい場合は、感嘆符をこれらのメソッドのいずれかに追加することができます。
string = "hello James!"
string.downcase!
string #=> "hello james!"
詳しくは のドキュメント を参照してください。
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は、国際化対応の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言語は、文字列のケースに関連する操作のためのさまざまな組み込みメソッドを提供します。
例えば.
string = "Ruby on Rails"
# For upper case
puts string.upcase
=> "Ruby on Rails"
# For lower case
puts string.downcase
=> "Ruby on Rails"
しかし、これは元の変数を変更しません。
puts string
=> "Ruby on Rails"
元の変数も変更する場合は、次を使用します。
文字列= "Ruby on Rails"
# For upper case
string.upcase!
puts string
=> "Ruby on Rails"
# For lower case
string.downcase!
puts string
=> "Ruby on Rails"
。swapcaseメソッドは、ストリング内の大文字を小文字に変換し、小文字を大文字に変換します。
'TESTING'.swapcase #=> testing
'testing'.swapcase #=> TESTING
あなたは"strings".methods
のような文字列メソッドを見つけることができますあなたはupcase
、downcase
、titleize
として文字列を定義することができます。例えば、
"hii".downcase
"hii".titleize
"hii".upcase
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