【Ruby3.x】String::tr_s()メソッドの使い方
tr_sメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
tr_sメソッドは、RubyのStringクラスにおいて、文字列内の特定の文字を別の文字に置換し、さらに置換によって連続する重複文字を一つにまとめる機能を持つメソッドです。このメソッドは、2つの文字列型の引数を受け取ります。最初の引数であるfrom_strは、置換の対象となる文字の集合を指定します。次の引数であるto_strは、from_strで指定された文字が置き換えられる新しい文字の集合を指定します。
tr_sメソッドの最大の特徴は、文字の置換処理に加え、「スクイーズ(squeeze)」と呼ばれる機能も同時に実行する点です。これは、to_strの文字によって置換された結果、同じ文字が連続して出現した場合に、その連続を単一の文字に圧縮するという機能です。例えば、文字列 "aabbcc" で 'a' を 'x'、'b' を 'y' に置換しようとすると、通常の置換では "xxyycc" となりますが、tr_sメソッドを使うと "xycc" のように連続する文字がまとめられます。
この機能は、データ内の表記ゆれを統一したり、ユーザー入力の文字列から不要なスペースなどの重複を除去したりする際に特に役立ちます。元の文字列自体は変更せず、常に新しい文字列オブジェクトを返しますので、元のデータに影響を与えずに安全に文字列操作を行うことが可能です。
構文(syntax)
1"aaabbbccc".tr_s("abc", "xyz")
引数(parameters)
from_str, to_str
- from_str: 文字列を置換する元となる文字の集合を指定する文字列
- to_str: 文字列を置換する先の文字の集合を指定する文字列
戻り値(return)
String
指定された文字を重複なく、指定された文字で置換した新しい文字列を返します。