Ruby文字列:大文字小文字
文字列操作の基礎
Ruby初心者が最初に触れるのが文字列操作です。Rubyでは文字列は String クラスのインスタンスとして扱われ、様々なメソッドが用意されています。代表的なメソッドとして upcase、downcase、capitalize、reverse、strip、length、size があります。これらを使いこなすことで、テキストデータの整形や検索、表示を簡単に行えます。
例えば、"Hello World".upcase は "HELLO WORLD" を返し、"HELLO WORLD".downcase は "hello world" を返します。capitalize は先頭文字を大文字にし、残りを小文字に変換します。"hELLO".capitalize は "Hello" となります。
文字列を逆順にしたい場合は reverse を使います。"abcd".reverse は "dcba" を返します。空白や改行を除去したいときは strip(両端)や lstrip、rstrip(左端・右端)を利用します。
長さを取得するメソッドとして length と size があり、Rubyでは同じ結果を返します。"abc".length と "abc".size はともに 3 を返します。
大文字小文字の変換
大文字小文字の変換は文字列操作の基本です。upcase はすべての文字を大文字に変換し、downcase はすべてを小文字に変換します。これらは文字列の正規化や比較時に便利です。
例として、ユーザー入力を大文字小文字を区別せずに比較したい場合、両方を downcase で統一してから比較します。input.downcase == "yes" のように書くと、"YES"、"Yes"、"yes" すべてが一致します。
一方、capitalize は先頭文字だけを大文字にし、残りを小文字にします。文章の先頭を整える際に使われます。"ruby is fun".capitalize は "Ruby is fun" を返します。
空白除去と長さの取得
入力データにはしばしば不要な空白が含まれます。strip は文字列の先頭と末尾の空白(スペース、タブ、改行)を除去します。lstrip は先頭だけ、rstrip は末尾だけを除去します。
空白除去後に文字列の長さを知りたい場合は length または size を使います。" hello ".strip.length は 5 を返します。strip を使わずに length だけだと 9 になります。
また、空白除去はデータベースへの保存前や検索前に行うことで、検索精度を向上させることができます。Ruby初心者はまず strip を使って入力をクリーンにし、次に upcase や downcase で正規化すると良いでしょう。
コメント
コメントを投稿