【Ruby3.x】String::tr!()メソッドの使い方
tr!メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
tr!メソッドは、レシーバである文字列中の特定の文字を、指定された別の文字に置換するメソッドです。このメソッドは破壊的な操作を行い、元の文字列オブジェクト自身の内容を直接変更します。
引数として、置換対象となる文字の集合を示すfrom_strと、置換後の文字の集合を示すto_strの二つを受け取ります。from_strに存在する各文字が、to_strの対応する位置の文字に置換されます。例えば、from_strが'aeiou'でto_strが'AEIOU'であれば、文字列中の小文字の母音が大文字の母音にそれぞれ置換されます。
引数には、'a-z'のようにハイフンを使って文字の範囲を指定したり、'\n'のようにバックスラッシュでエスケープされた文字を指定したりすることも可能です。もしto_strがfrom_strよりも短い場合、to_strの最後の文字がfrom_strの残りの文字に対しても繰り返し適用されて置換されます。
このtr!メソッドは、文字列に変更があった場合には変更後の文字列自身を返します。もし置換によって文字列に全く変更がなかった場合は、nilを返します。元の文字列を変更せずに新しい文字列として結果を得たい場合には、非破壊的な同等のメソッドであるtrを使用してください。tr!メソッドは、既存の文字列オブジェクトの内容をその場で変更する必要がある場合に利用され、特に効率的な文字列操作が求められる場面で役立ちます。
構文(syntax)
1"Hello World".tr!("o", "0")
引数(parameters)
from_str, to_str
- from_str: 置換対象の文字を含む文字列
- to_str: 置換後の文字を含む文字列
戻り値(return)
String | nil
String#tr! は、文字列内で指定された文字を別の文字に置換した結果を返します。置換対象の文字が存在しない場合は nil を返します。