重複の可能性:
replaceを使用しているときにjavascriptが最初のインスタンスのみを置き換えるのはなぜですか?
私はこの変数を持っています
var newRow = "<td><div> [[myvar]]</div> <div> [[myvar]]</div> </td> "
私がこれをするとき
newRow = newRow.replace('[[myvar]]', '10');
最初の発生のみが置き換えられ、2番目の発生は置き換えられません
重複の可能性:
replaceを使用しているときにjavascriptが最初のインスタンスのみを置き換えるのはなぜですか?
私はこの変数を持っています
var newRow = "<td><div> [[myvar]]</div> <div> [[myvar]]</div> </td> "
私がこれをするとき
newRow = newRow.replace('[[myvar]]', '10');
最初の発生のみが置き換えられ、2番目の発生は置き換えられません
正規表現を使用する場合があります
newRow = newRow.replace(/\[\[myvar\]\]/g, '10');
複数の交換のための他の簡単な解決策はありません。ご了承ください :
/\[\[myvar\]\]/
正規表現は、特に表記を使用する場合、すべてのブラウザで大幅に最適化されていますnew RegExp(somepattern, 'g')
(ただし、固定パターンがある場合は、パフォーマンスを向上させるためにこれを使用しないでください)これを使って:
newRow = newRow.replace(new RegExp('[[myvar]]', 'g'), '10');