Rubyリファレンス: Home

sub, sub! (String)

Edit   History

標準クラス・モジュール > String > sub, sub!

str.sub(pattern, replacement)
str.sub(pattern) {|match| block }

subメソッドは、文字列の中で正規表現のパターンpatternに最初にマッチした部分を文字列replacementに置換し、新しい文字列を返します。

引数やブロックの指定のしかたは、gsubメソッドと同じです。gsubメソッドとは違い、置換は一度だけ行われます。

次の例は、文字列中の最初の単語を*で囲みます。

s = "hello, world"
puts s.sub(/\w+/, '*\&*')
*hello*, world

次の例は、ブロックを使って文字列中の最初の単語を大文字にします。

s = "hello, world"
puts s.sub(/\w+/) {|word| word.upcase }
HELLO, world
str.sub!(pattern, replacement)
str.sub!(pattern) {|match| block }

sub!メソッドは、パターンpatternに最初にマッチした部分を文字列replacementに置換します。レシーバ自身を変更するメソッドです。戻り値は、置換が行われたときはレシーバ自身、変更がなかったときはnilです。

引数やブロックの指定のしかたは、gsub!メソッドと同じです。gsub!メソッドとは違い、置換は一度だけ行われます。

s = "hello, world"
s.sub!(/\w+/) {|word| word.upcase }
puts s
HELLO, world

関連項目