Rubyで文字列の一部を削除する方法

こんにちは!

今回はRubyで文字列の一部を削除する方法をまとめます。

やりたいこと

  • "hello world" から "hello "を削除して "world"だけにしたい

gsub

text = 'hello world'

puts text.gsub('hello ')

結果

"world"

delete

text = 'hello world'

puts text.delete('hello ')

結果

"wrd"

検証結果

  • gsubは想定通りの動きだが、deleteでは"o", "l"も消えてしまっている
  • gsubは文字のかたまりで比較するが、deleteは1文字ずつ比較するため

おわりに

メソッド名からすぐに思いつくdeleteを使ってしまいがちですが、1文字ずつ判定されることを忘れると意図しない挙動をしてしまうので、気を付けたいですね。

9/100