Ruby 2.2.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Stringクラス > delete!
delete!(*strs) -> self | nil
[permalink][rdoc]self から strs に含まれる文字を破壊的に取り除きます。
str の形式は tr(1) と同じです。 つまり、「a-c」は a から c を意味し、"^0-9" のように 文字列の先頭が「^」の場合は指定文字以外を意味します。
「-」は文字列の両端にない場合にだけ範囲指定の意味になります。 「^」も文字列先頭にあるときだけ否定の効果を発揮します。 また、「-」「^」「\」はバックスラッシュ (「\」) によってエスケープできます。
なお、引数を複数指定した場合は、 すべての引数にマッチする文字だけが削除されます。
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"