LoginSignup
1
0

More than 3 years have passed since last update.

【Ruby】複数の文字を置換したい場合

Last updated at Posted at 2020-08-17

gsubメソッド

複数の文字を置換したいときはgsubを使えば、指定した通りに置換する事が出来ます。
@scivolaさんからコメントを頂いて記事を修正させて頂きました。@scivolaさんご丁寧にありがとうございます!

gsub【置換したい部分をすべて置換】

以下例

x = "TOKYO"
y = x.gsub(/[TOKY]/, "T" => "5", "O" => "3", "K" => "6", "Y" => "1")
puts y
=> 53613

該当したものを一字ずつ置換してくれます
また、置換時には文字列化されるので、5と書いても"5"と書いても結果は変わりません。

String#trメソッド

また、1 文字を 1 文字に置き換える「換え字」なら,gsub を使うより専用メソッド String#tr を使ったほうが簡潔で高速みたいです!

y = x.tr("TOKY", "5361")
1
0
1

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
0