LoginSignup
1
1

More than 3 years have passed since last update.

[ruby2.5~] 文字列中の先頭, 末尾から特定文字を一つだけ消す

Posted at

特定の文字を先頭から見つかった最初だけ、末尾から見つかった一つだけ消したいニーズがあった
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

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1