応答しない Replace メソッドへの対処
Replace メソッドが期待どおりに実行できない状況では、文字列の不変性を理解することが重要です。 JavaScript。他の多くの言語とは異なり、JavaScript の文字列は変更できません。つまり、「置換」メソッドは元の文字列を変更せず、新しい文字列を生成します。
コードの修正
スマート シンボル引用符と登録済みシンボル引用符を効果的に置き換えるには、次のコードを使用します。
str = str.replace(/[“”]/g, '"'); str = str.replace(/[‘’]/g, "'");
または、次のようにすることもできます。すべての置換を 1 つのステートメントで実行します:
str = str.replace(/[“”]/g, '"').replace(/[‘’]/g, "'");
文字列の不変性について
置換状態に関する Mozilla Developer Network (MDN) ドキュメント:
"パターンの一部またはすべての一致を置換文字列に置き換えた新しい文字列を返します。 ... このメソッドは、文字列オブジェクトを変更しません。これは、単に新しい文字列を返します。
これは、replace メソッドが元の文字列を保持し、置換が適用された新しい文字列を提供することを示します。 JavaScript で文字列を操作するときは、混乱を避け、正確な文字列操作を確保するために、この点に留意してください。
以上がJavaScript の「replace()」メソッドが期待どおりに動作しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。