javascriptで文字列をreplace置換するときの注意点

vb.netC#などでは当たり前のように用意されている関数が、javascriptには無かったり、動きが微妙に違ったりするので注意が必要です。

replace関数の注意点

文字列を置換する場合や、文字列の中の指定した文字を削除したい場合などによく使用する関数ですが、他の言語と同じようにしてしまうとうまくいきません。

var moji = 'japan';
moji = moji.replace('a', ''); //'a'の文字を削除したい
//最初の1つしか置換されない
console.log(moji) //jpan

正規表現

すべての'a'を対象に置換したい場合は正規表現を使います。

var moji = 'japan';
moji = moji.replace(/a/g, ''); //'a'の文字を削除したい
//すべての'a'が削除される
console.log(moji) //jpn

正規表現を使わない方法

「正規表現はよくわからないので使うのが怖い...」という場合は、正規表現を使わない方法もあります。

var moji = 'japan';
moji = moji.split('a').join(''); //'a'で区切った配列を結合する
//すべての'a'が削除される
console.log(moji) //jpn

ぱっと見て何をやっているのかわかりづらいのが難点なので、他の人が見てわかるようにコメントを書いておくことが必要かもしれません。


関連記事