【Ruby3.x】String::scan()メソッドの使い方
scanメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
scanメソッドは、Stringクラスのインスタンスに対して呼び出され、文字列から特定のパターンに一致する部分をすべて検索し、その結果を取得するために使用されるメソッドです。このメソッドは、引数として正規表現オブジェクトを受け取ります。ターゲットとなる文字列内でこの正規表現パターンに一致するすべての部分を抜き出し、それらを要素とする新しい配列を返します。
例えば、ある文章の中からすべての数字の並びを抜き出したり、特定のキーワードをすべて見つけ出したりする際に非常に役立ちます。scanメソッドはブロックを伴って呼び出すことも可能です。この場合、パターンに一致する部分が見つかるたびに、その一致した部分を引数としてブロックが実行されます。ブロックが返す値は、最終的に新しい配列の要素として収集されます。
また、正規表現にキャプチャグループ(括弧で囲まれた部分)が含まれている場合、各一致について、キャプチャされた部分が配列の要素として返されます。ブロックを伴う場合は、これらのキャプチャされた部分がブロックの引数として渡されます。この機能により、単に一致した部分だけでなく、その中の特定の要素を細かく抽出することが可能になります。文字列処理において、複数の要素を一度に効率よく抽出したい場合に利用することで、コードの可読性と保守性を高めることができます。
構文(syntax)
1"example string for scan method".scan(/\w+/)
引数(parameters)
pattern
- pattern: マッチさせたい正規表現または文字列
戻り値(return)
Array<String>
正規表現にマッチした部分文字列をすべて格納した配列を返します。