Heim >Web-Frontend >js-Tutorial >Warum ändert meine JavaScript-Methode „replace()' meinen String nicht?
Die Methode „replace()“ in Strings verstehen
In der Programmierung können Sie mit der Methode „replace()“ einen bestimmten Teilstring durch einen anderen ersetzen eine gegebene Zeichenfolge. Kürzlich stieß ein Benutzer auf ein Problem, als er versuchte, Anführungszeichen und registrierte Symbole durch ihre regulären Gegenstücke zu ersetzen.
Der Benutzer verwendete den folgenden Code:
str.replace(/[“”]/g, '"'); str.replace(/[‘’]/g, "'");
Dieser Code konnte jedoch nicht generiert werden das gewünschte Ergebnis. Dies liegt daran, dass Zeichenfolgen in JavaScript unveränderlich sind. Die Methode replace() generiert eine neue Zeichenfolge und lässt die ursprüngliche Zeichenfolge unverändert.
Lösung:
Um die Anführungszeichen und Symbole korrekt zu ersetzen, sollte der Code geändert werden wie folgt:
str = str.replace(/[“”]/g, '"'); str = str.replace(/[‘’]/g, "'");
Alternativ kann eine einzelne Anweisung das gleiche Ergebnis erzielen:
str = str.replace(/[“”]/g, '"').replace(/[‘’]/g,"'");
Von Wenn Sie die neue Zeichenfolge wieder der ursprünglichen Variablen zuweisen, überschreiben Sie effektiv die ursprüngliche Zeichenfolge mit der geänderten.
Zusätzliche Hinweise:
Es ist wichtig zu beachten, dass der Code geht von der UTF-16-Kodierung für Zeichen aus. Wenn Ihre Zeichenfolgen Zeichen außerhalb der Basic Multilingual Plane enthalten (einschließlich Anführungszeichen und registrierter Symbole), müssen Sie möglicherweise das Unicode-Flag (u) angeben, um eine korrekte Übereinstimmung sicherzustellen.
Das obige ist der detaillierte Inhalt vonWarum ändert meine JavaScript-Methode „replace()' meinen String nicht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!