環境
- Ruby3
やりたいこと
gsub何回も重ねるのは非効率なので一括置換したい
コード
gsubdict = { "ストロベリー" => "strawberry", "パイナップル" => "pineapple" } original_text = "ストロベリーパフェとパイナップルジュース" # gsub と Regexp.union を使用して文字列を置換 result = original_text.gsub(Regexp.union(gsubdict.keys), gsubdict) puts result
注意点
渡すハッシュのキーは文字列でないといけない。シンボルは不可、つまり
gsubdict = { "ストロベリー": "strawberry", "パイナップル": "pineapple" }
は動作しない。