JavaScript の Replace メソッドが最初のインスタンスのみを置換するのはなぜですか?

Mary-Kate Olsen
リリース: 2024-10-23 07:55:02
オリジナル
926 人が閲覧しました

Why Does JavaScript's Replace Method Only Replace the First Instance?

JavaScript Replace が最初のインスタンスのみを置換する理由: RegExp フラグの探索

JavaScript の replace メソッドを使用して文字列を検索し、別の文字列に置換する場合を実行すると、ターゲット文字列の最初のインスタンスのみが置換される動作が発生する可能性があります。この現象は、置換のデフォルトの動作が単一の非グローバル検索および置換操作を実行するために発生します。

グローバル置換: RegExp フラグ

すべてを置換するには文字列内のターゲット文字列のインスタンスを置換するには、replace メソッドで使用される正規表現で「グローバル」フラグ (g) を指定する必要があります。このフラグは、文字列全体にわたって検索と置換操作を実行し、ターゲット文字列の出現箇所をすべて置換する必要があることを示します。

たとえば、コード内では次のようになります。

<code class="javascript">var date = $('#Date').val(); // e.g., "12/31/2009"
var id = 'c_' + date.replace("/", ''); // c_1231/2009 (wrong)</code>
ログイン後にコピー

出現箇所をすべて置換するには「/」文字を使用するには、「グローバル」フラグを指定する必要があります:

<code class="javascript">var id = 'c_' + date.replace(new RegExp("/", "g"), ''); // c_12312009 (correct)</code>
ログイン後にコピー

または、より短い構文を使用できます:

<code class="javascript">var id = 'c_' + date.replace(/\//g, ''); // c_12312009 (correct)</code>
ログイン後にコピー

「グローバル」を指定することにより、フラグを指定すると、replace メソッドは日付文字列内のすべてのスラッシュ文字を置換し、正しい出力が得られます。

以上がJavaScript の Replace メソッドが最初のインスタンスのみを置換するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!