subとgsubメソッド

今回は、subとgsubのお話です。

この二つは、置き換えを行うメソッドです。

処理もかなり似ております。

☆sub

文字列オブジェクトにおいて、正規表現として指定したパターンに、最初にmatchしたものを置き換えます。

str.sub(/matchさせたいパターン/,"matchした部分と置き換える文字列")


たとえば、

str = "abcdeabced"
str.sub!(/abc/, ABC) #=> str = "ABCdeabcde"

文字列オブジェクト"abcdeabcde"に対して、/abc/を"ABC"に置き換えを行っております。
そして、最初にmatchした/abc/に対してのみ、置き換えを行っています。


☆gsub

gsubは、groupsubの略称で、matchしたすべてに対して置き換えを行います。
記述方法は、subと同じです。

str = "abcdeabced"
str.gsub!(/abc/, ABC) #=> str = "ABCdeABCde"

こちらも文字列オブジェクト"abcdeabcde"に対して、/abc/を"ABC"に置き換えを行っております。
そして、matchした/abc/すべてに対して、置き換えを行っています。


お読み頂きありがとうございました。