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")