文字列を小文字に変換

Ruby:
文字列を小文字に変換

How to: (方法)

Rubyで文字列を小文字に変換するのは簡単です。downcaseメソッドを使用します:

original_string = "Kon'nichiwa, Ruby!"
lowercase_string = original_string.downcase
puts lowercase_string
# => "kon'nichiwa, ruby!"

downcase!メソッドもあります。これは元の文字列を直接変更します:

greeting = "Hello, World!"
greeting.downcase!
puts greeting
# => "hello, world!"

Deep Dive (詳細情報)

Rubyでは、downcaseメソッドは長い歴史を持っており、文字列を小文字に変換する簡単で効率的な方法として定着しています。しかし、downcaseはロケールに依存しないため、例えばトルコ語のように特殊な大文字小文字のルールがある言語は正しく変換されないことがあります。このような場合、Unicode対応のdowncaseの使用が検討されるべきです。

Ruby 2.4からは、String#downcaseメソッドはUnicodeのケースマッピングを使っており、多くの言語の文字を適切に小文字に変換できるようになりました。しかし、パフォーマンスや互換性の観点から代替手段も考えられるべきです。たとえば、正規表現とgsubメソッドを組み合わせることでカスタマイズされた変換を行うことも可能です。

# Unicodeを考慮した小文字化
original_string = "Straße" # ドイツ語で "street"
lowercase_string = original_string.downcase
puts lowercase_string
# => "straße"

See Also (参照情報)