【Ruby3.x】String::[]()メソッドの使い方
[]メソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
[]メソッドは、String(文字列)オブジェクトから特定の文字や部分文字列を取り出す(抽出する)メソッドです。このメソッドは、引数の指定方法によって様々な方法で文字列の一部を取得できます。
まず、整数を引数として渡すことで、指定したインデックス(位置)にある文字を取得できます。インデックスは0から始まり、文字列の先頭から数えます。負の整数を指定すると、文字列の末尾から数えた位置の文字を取得できます。例えば、"Ruby"[0]とすると"R"が、"Ruby"[-1]とすると"y"が得られます。
また、開始インデックスと長さを指定することで、指定範囲の部分文字列を取得することも可能です。"Hello World"[6, 5]のように指定すると、6番目の文字(0から数えて7文字目)から5文字分の"World"という部分文字列を取り出せます。
さらに、..や...といった範囲演算子を使用して、部分文字列の開始と終了をインデックスで指定することもできます。"example"[0..2]とすると"exa"が、"example"[0...3]とすると"exa"がそれぞれ取得できます。...は終了インデックスの直前までを含み、..は終了インデックス自体を含みます。
このメソッドは正規表現を引数として受け取ることもできます。文字列内で正規表現にマッチした部分があれば、その部分文字列を返します。正規表現にキャプチャグループが含まれている場合、グループの番号を指定することで、マッチした特定の部分のみを取り出すことも可能です。
指定されたインデックスや範囲、正規表現に該当する部分が見つからない場合、このメソッドはnilを返します。String#[]メソッドは、文字列の中から特定の情報を柔軟に取り出したい場合に非常に役立つ、基本的ながらも強力なツールです。
構文(syntax)
1"string"[0, 3]
引数(parameters)
idx
- idx: 文字列から取得したい文字のインデックスを指定する整数
戻り値(return)
String または nil
指定されたインデックスにある文字を返します。インデックスが範囲外の場合はnilを返します。