self[nth] = val
[permalink][rdoc]nth 番目の文字を文字列 val で置き換えます。
buf = "string"
buf[1] = "!!"
p buf # => "s!!ring"
self[nth, len] = val
[permalink][rdoc]nth 番目の文字から 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
[permalink][rdoc]文字列中の substr に一致する最初の部分文字列を文字列 val で置き換えます。
buf = "string"
buf["trin"] = "!!"
p buf # => "s!!g"
buf = "string"
buf["nosuchstring"] = "!!" # IndexError
self[regexp, nth] = val
[permalink][rdoc]正規表現 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
[permalink][rdoc]正規表現 regexp の name で指定した名前付きキャプチャにマッチする最初の部分文字列を文字列 val で置き換えます。
s = "FooBar"
s[/(?<foo>[A-Z]..)(?<bar>[A-Z]..)/, "foo"] = "Baz"
p s # => "BazBar"
self[regexp] = val
[permalink][rdoc]正規表現 regexp にマッチした部分文字列全体を val で置き換えます。
buf = "string"
buf[/tr../] = "!!"
p buf # => "s!!g"
self[range] = val
[permalink][rdoc]rangeで指定したインデックスの範囲に含まれる部分文字列を文字列 val で置き換えます。