replaceで置換後の文字に、代入した文字を使った場合\\nなどを\nとして扱うには
置換後の文字列に、入力ボックスなどから持ってきた文字を使うと
\nなどは\\nとして認識されてしまう。
そういう場合は、'か"で囲んでevalに渡せばOKらしい。
//bを\nに置換 var text = 'aabaabaa'; var str = '\\n'; text = text.replace(/b/g, eval('"' + str + '"')); /*結果 aa aa aa */
追記
上記のようにした場合、今度は置換後の文字列に"(ダブルクオート)があった場合エラーになったw
とりあえず
eval('"' + str.replace(/"/g, '\\"') + '"')
でエスケープして回避はできるけど、なにかしっくりしないな。
他にもありそうだし。