Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Stringクラス > delete!

instance method String#delete!

delete!(*strs) -> self | nil[permalink][rdoc]

self から strs に含まれる文字を破壊的に取り除きます。

str の形式は tr(1) と同じです。 つまり、「a-c」は a から c を意味し、"^0-9" のように 文字列の先頭が「^」の場合は指定文字以外を意味します。

「-」は文字列の両端にない場合にだけ範囲指定の意味になります。 「^」も文字列先頭にあるときだけ否定の効果を発揮します。 また、「-」「^」「\」はバックスラッシュ (「\」) によってエスケープできます。

なお、引数を複数指定した場合は、 すべての引数にマッチする文字だけが削除されます。

[RETURN]
通常は self を返しますが、何も変更が起こらなかった場合は nil を返します。
[PARAM] strs:
削除する文字列を示す文字列 (のリスト)


str = "123456789"
p str.delete!("2378")         #=> "14569"
p str                         #=> "14569"

str = "123456789"
p str.delete!("2-8", "^4-6")  #=> "14569"
p str                         #=> "14569"

str = "abc"
p str.delete!("2378")         #=> "nil"
p str                         #=> "abc"

[SEE_ALSO] String#delete