Rubyで文字列を置換するsub, gsubメソッドだが、元の文字列の一部を使用したいことはよくある。また、置換後の文字列に式展開を行いたいこともあるだろう。その方法が複数あるので紹介したい。 その前に sub, gsub の簡単な説明を String#sub, String#gsub は文字列を置換するメソッドである。第1引数と一致する部分を第2引数に置換する。sub は最初に一致したものを置換し、gsubはマッチする全ての文字列を置換する。破壊的なメソッド sub!, gsub! も用意されている。 str = "a perl, a ruby, a python" str.sub('a', 'the') # => "the perl, a ruby, a python" str.gsub('a', 'the') # => "the perl, the ruby, the python"