JavaScript が Replace メソッドを使用して最初のインスタンスのみを置換するのはなぜですか?
JavaScript の replace() メソッドを使用して文字列内の文字を置換しようとする場合、最初のインスタンスのみが置き換えられるという問題が発生する可能性があります。この問題が発生する理由を理解するには、replace() メソッドのデフォルトの動作に注目することが重要です。
この例では、日付文字列に対して replace() が呼び出され、「/」文字のすべての出現が削除されます。 。ただし、結果は文字の最初のインスタンスのみを置き換えます。すべての出現箇所をグローバルに置換するには、replace() メソッドで「global」を表す「g」フラグを追加する必要があります。
「g」フラグを追加すると、replace() メソッドは次の文字列を検索します。文字列内の指定されたパターンに一致するものをすべて検索し、提供された置換テキストで置き換えます。この例では、次のコードで目的の結果が得られます:
<code class="javascript">var id = 'c_' + date.replace(new RegExp("/", "g"), '');</code>
または、より短い構文を使用できます:
<code class="javascript">var id = 'c_' + date.replace(/\//g, '');</code>
「g」フラグを組み込むことで、JavaScript日付文字列内の「/」文字のすべてのインスタンスを置き換えて、結果の ID の正確さを保証します。
以上がJavaScript Replace() メソッドが最初のインスタンスのみを置き換えるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。