Ruby Tips!

RubyのTipsを紹介します

文字列の一部を削除する

正規表現による削除

String#sub!またはString#gsub!で空文字列に置換することで、既存も文字列から正規表現にマッチした部分を削除できる。

p "foo fooo foooo".sub!(/o+/, '') #=> "f fooo foooo"
p "foo fooo foooo".gsub!(/o+/, '') #=> "f f f"

特定の文字の削除

文字列から特定の文字だけを削除したいならString#delete!を使って以下のように書ける。

p "foobarbuz".delete!('o') #=> "fbarbuz"

また連続した文字を1文字に丸めるにはString#squeezeメソッドが使用できる。

p "foobarbuz".squeeze('o') #=> "fobarbuz"

インデックスを指定した削除

文字列のインデックスを指定してある範囲を削除するにはString#[]=を使って以下のように書ける。

str = "0123456789"
str[2, 3] = ''
p str #=> "0156789"