こんにちは!
今回は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