なかだです。

At Tue, 2 Mar 2004 19:44:03 +0900,
keiichi matsunaga wrote in [ruby-list:39322]:
>  ある文字列から,その中に含まれる制御コード(例えば改行)を,「\+数
> 値」という表現にして,その他の文字は変化しないような文字列に変換したい
> のですが,どうすればよいでしょうか? このときの数値は10進数で,先頭に0
> をつけません。
> 
>  つまり誤ってエンコードされた文字列(「\5,000」が「エスケープE」+
> 「,000」になってしまったような)を,できるだけ元の文字列に戻したいとい
> う処理です。

「,数字」が後に続く一文字だけにするとか、変換する範囲を限定する
とか、なんらかの制限を設けない限り、無理でしょう。

  str = "\5,000"
  str = str.gsub(/(.)(?=,\d+)/) {'\\'+$1[0].to_s}

-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦