LoginSignup
1
1

More than 5 years have passed since last update.

rubyで後方から一致した1文字だけ置換する方法

Posted at

会員が退会したとかでメールアドレスを無効にするために、無理やり別の文字列に置換することがあると思います。
(今回の例では#にしています。)

それを再び有効にするたいにgsubを使って全部変えてしまうと#がローカル部分に使われると元のアドレスに戻らないので、後方から1文字だけ一致したやつだけを置換したいケースがありました。

irb(main):001:0> mail = 'test#test#example.com'
=> "test#test#example.com"
irb(main):002:0> mail.reverse.sub(/#/, '@').reverse
=> "test#test@example.com"

こういう感じで戻しました。

他にいいやり方あれば教えて下さい
これしか思いつかず…

1
1
2

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