Ruby 2.2.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Stringクラス > []=
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[/(?[A-Z]..)(?[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 で置き換えます。