Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Ruby3.x】String::delete!()メソッドの使い方

delete!メソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

delete!メソッドは、呼び出し元のStringオブジェクト(文字列)から、指定された文字を破壊的に削除するメソッドです。破壊的とは、メソッドを実行すると元の文字列そのものが変更されることを意味します。

このメソッドは一つ以上の文字列を引数として受け取ります。引数に指定された文字列に含まれるすべての文字が、呼び出し元の文字列から取り除かれます。例えば、"hello".delete!("eo")と実行すると、元の文字列"hello""hl"に変更されます。

引数には、"a-z"のように文字の範囲を指定したり、"^a-z"のように指定された文字以外のすべてを削除対象とする否定指定も利用できます。これにより、特定のパターンの文字だけを効率的に削除することが可能です。

メソッドの実行後、文字列に変更があった場合は、変更されたStringオブジェクト自身を戻り値として返します。しかし、もし指定された削除対象の文字が元の文字列に一つも含まれておらず、結果として文字列に変更がなかった場合は、nilを返します。これは、元の文字列を保持しつつ新しい文字列を返すdeleteメソッドとは異なる、delete!メソッドの重要な特性の一つです。

構文(syntax)

1str = "Hello Ruby World"
2str.delete!("Hlo")

引数(parameters)

*args

  • chars: 削除したい文字を指定する文字列。指定された文字列に含まれる全ての文字がレシーバ文字列から削除されます。

戻り値(return)

self or nil

String#delete!は、文字列から指定した文字を削除するメソッドです。削除が行われた場合は、変更された自身の文字列オブジェクト(self)を返します。削除する文字が見つからなかった場合は、nilを返します。

関連コンテンツ

関連プログラミング言語