Javascript 変数を使って置換えをしたい
2010/10/06
str = “置換え後の置換え文字”;
rep = “置換え”;
rep = “置換え”;
// 希望結果
// xxx後のxxx文字
まず普通に置換え。
alert( str.replace(rep,”xxx”) );
// 結果
// xxx後の置換え文字
こんな感じでOK。
でもこれだと一個しかしてくれないから正規表現を使って全部置き換えてもらう。
alert( str.replace(/rep/g,”xxx”) );
// 結果
// 置換え後の置換え文字
これだと動かない。
調べるとRegExp()を使うっぽい。
rep2 = new RegExp( rep, ‘g’ );
alert( str.replace(rep2,”xxx”) );
alert( str.replace(rep2,”xxx”) );
// 結果
// xxx後のxxx文字
ちなみにRegExp()で「行頭から変数まで」ってするときは下記。
rep2 = new RegExp( “^” + rep, '' );
また、定数・値(?)と変数の組み合わせは下記。
rep2 = new RegExp( “ははは” + rep + “ひひひ”, '' );