Heim >Web-Frontend >js-Tutorial >So ersetzen Sie alle Vorkommen einer Zeichenfolge in JavaScript
Mehrfaches Vorkommen einer Zeichenfolge in JavaScript ersetzen
Möglicherweise müssen Sie mehrere Vorkommen einer Zeichenfolge in JavaScript ersetzen, aber das ist der Standard Die Methode string.replace() entfernt nur die erste Instanz. Wie können Sie sicherstellen, dass alle Vorkommen ersetzt werden?
Moderne Lösung (ES2021)
Moderne Browser unterstützen jetzt die Methode String.replaceAll(), die Ihnen das Ersetzen nativ ermöglicht alle Instanzen einer Zeichenfolge. Verwenden Sie einfach die Syntax:
<code class="js">string = string.replaceAll('abc', '');</code>
Legacy-Lösung für ältere Browser
Für ältere Browser können Sie einen regulären Ausdruck mit dem Flag g (global) verwenden:
<code class="js">function replaceAll(str, find, replace) { return str.replace(new RegExp(find, 'g'), replace); }</code>
Sonderzeichen mit Escapezeichen versehen
Reguläre Ausdrücke enthalten Sonderzeichen. Seien Sie daher vorsichtig, wenn Sie eine Variable für das Suchargument übergeben. Verwenden Sie die Funktion escapeRegExp(), um alle Sonderzeichen sicher zu maskieren:
<code class="js">function escapeRegExp(str) { return str.replace(/[.*+?^${}()|[\]\]/g, '\$&'); }</code>
Daher wird die aktualisierte Funktion „replaceAll()“ zu:
<code class="js">function replaceAll(str, find, replace) { return str.replace(new RegExp(escapeRegExp(find), 'g'), replace); }</code>
Diese Lösung stellt alle Vorkommen der angegebenen Zeichenfolge sicher werden trotz Browserkompatibilität ersetzt.
Das obige ist der detaillierte Inhalt vonSo ersetzen Sie alle Vorkommen einer Zeichenfolge in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!