【Ruby3.x】String::slice!()メソッドの使い方
slice!メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
slice!メソッドは、文字列から特定の部分を切り出し、同時に元の文字列からその部分を削除するメソッドです。このメソッドは、指定されたインデックス、開始位置と長さ、または範囲、正規表現、あるいは部分文字列に基づいて、対象の文字列から一致する部分を抽出します。最大の特性は、メソッドを呼び出す元の文字列(レシーバ)の内容を直接変更する点にあります。切り出された部分は、元の文字列から完全に削除されます。
切り出された部分文字列は、このメソッドの戻り値として返されます。例えば、文字列から3番目の文字を切り出す、あるいは5文字目から3文字分の部分を切り出す、といった操作が可能です。正規表現を指定した場合は、最初にマッチした部分が切り出されます。もし指定した条件に合致する部分が見つからなかった場合や、無効なインデックスや範囲を指定した場合は、nilを返します。元の文字列が変更されるため、その影響を理解し、慎重に利用することが重要です。元の文字列を変更したくない場合は、感嘆符 (!) がないsliceメソッドを使用することを検討してください。
構文(syntax)
1text = "Ruby is powerful" 2text.slice!(5, 2)
引数(parameters)
index, length
- index: 文字列から切り出しを開始する位置を示す整数。0から始まります。
- length: 切り出す文字列の長さを指定する整数。省略した場合は、
indexから文字列の末尾までを切り出します。
戻り値(return)
Stringまたはnil
指定された範囲の文字列を削除し、削除した部分を返します。指定範囲が文字列に含まれない場合はnilを返します。