#はじめに
複数の文字パターンを置換したいときにgsub
でメソッドチェーン?を利用して置換文字数分gsub
を呼ばないといけないと思っていたので、置換する対象をハッシュで渡せる方法をまとめてみました。
#復習
##sub【初めにマッチした部分のみ置換】
"hogehoge".sub("hoge","ruby")
=> "rubyhoge"
##gsub【マッチした部分をすべて置換】
"hogehoge".gsub("hoge","ruby")
=> "rubyruby"
#本題
複数の文字パターンを置換したい場合
##gsub【マッチした部分をすべて置換+複数のパターンを置換】
"hogeはrubyです".gsub(/hoge|ruby/, "hoge" => "私", "ruby" => "男")
=> "私は男です"
第1引数で渡した正規表現に該当する文字を、第2引数のパターンにそって置換してくれるそうです。