特定の文字を先頭から見つかった最初だけ、末尾から見つかった一つだけ消したいニーズがあった
gsubやdeleteだと下記の様に見つかった全部の文字を消してしまうので使えない
'中野区東中野'.gsub('中野', '')
=> "区東"
'中野区東中野'.delete('中野')
=> "区東"
地味に面倒な記憶があったけれど、ruby2.5からdelete_suffix
, delete_prefix
というメソッドが追加されていた
'中野区東中野'.delete_prefix('中野')
=> "区東中野"
'中野区東中野'.delete_suffix('中野')
=> "中野区東"
破壊的メソッドも用意されているらしい。便利!
参考
https://docs.ruby-lang.org/ja/latest/method/String/i/delete_suffix.html
https://docs.ruby-lang.org/ja/latest/method/String/i/delete_prefix.html