javascriptで文字列をreplace置換するときの注意点
vb.net
やC#
などでは当たり前のように用意されている関数が、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
ぱっと見て何をやっているのかわかりづらいのが難点なので、他の人が見てわかるようにコメントを書いておくことが必要かもしれません。