Ruby 1.9.3 Reference Manual > All Libraries > Builtin Library > class String > []=
self[nth] = valnth 番目の文字を文字列 val で置き換えます。
例:
buf = "string" buf[1] = "!!" p buf # => "s!!ring"
self[nth, len] = valnth 番目の文字から len 文字の部分文字列を文字列 val で置き換えます。
len が0 の場合は、単にnthの位置から文字列の追加が行われます。 nth が負の場合は文字列の末尾から数えます。
例:
buf = "string" buf[1, 4] = "!!" p buf # => "s!!g" buf = "string" buf[1, 0] = "!!" p buf # => "s!!tring"
self[substr] = val文字列中の substr に一致する最初の部分文字列を文字列 val で置き換えます。
例:
buf = "string" buf["trin"] = "!!" p buf # => "s!!g" buf = "string" buf["nosuchstring"] = "!!" # IndexError
self[regexp, nth] = val正規表現 regexp の nth 番目の括弧にマッチする 最初の部分文字列を文字列 val で置き換えます。
nth が 0 の場合は、マッチした部分文字列全体を val で置き換えます。
例:
buf = "def exec(cmd)" buf[/def\s+(\w+)/, 1] = "preprocess" p buf # => "def preprocess(cmd)"
self[regexp, name] = val正規表現 regexp の name で指定した名前付きキャプチャにマッチする最初の 部分文字列を文字列 val で置き換えます。
例:
s = "FooBar" s[/(?<foo>[A-Z]..)(?<bar>[A-Z]..)/, "foo"] = "Baz" p s # => "BazBar"
self[regexp] = val正規表現 regexp にマッチした部分文字列全体を val で置き換えます。
例:
buf = "string" buf[/tr../] = "!!" p buf # => "s!!g"
self[range] = valrangeで指定したインデックスの範囲に含まれる部分文字列を文字列 val で置き換えます。