Wie man eine Zeichenkette in JavaScript ersetzt
Daniel Hayes
Full-Stack Engineer · Leapcell

Key Takeaways
- Verwenden Sie
replace()
, um Teile einer Zeichenkette in JavaScript zu ändern. - Reguläre Ausdrücke ermöglichen globale und case-insensitive Ersetzungen.
- Eine Funktion kann als Ersetzung verwendet werden, um dynamische Werte zu generieren.
Die Manipulation von Zeichenketten ist eine häufige Aufgabe in JavaScript, und eine der am häufigsten verwendeten Operationen ist das Ersetzen von Teilen einer Zeichenkette. Ob Sie Benutzereingaben ändern, Daten verarbeiten oder Text formatieren, JavaScript bietet verschiedene Methoden, um Zeichenketten effizient und flexibel zu ersetzen.
Verwenden von String.prototype.replace()
Die primäre Methode zum Ersetzen eines Teils einer Zeichenkette in JavaScript ist die replace()
-Methode.
Syntax
str.replace(searchValue, replaceValue);
searchValue
kann eine Zeichenkette oder ein regulärer Ausdruck sein.replaceValue
kann eine Zeichenkette oder eine Funktion zur Generierung des Ersatzes sein.
Beispiel 1: Ersetzen einer einfachen Teilzeichenkette
const message = "Hello, world!"; const updated = message.replace("world", "JavaScript"); console.log(updated); // "Hello, JavaScript!"
Dies ersetzt das erste Vorkommnis von "world"
durch "JavaScript"
.
Beispiel 2: Ersetzen mit einem regulären Ausdruck
const sentence = "The rain in Spain stays mainly in the plain."; const result = sentence.replace(/ain/g, "☀️"); console.log(result); // "The r☀️ in Sp☀️ stays m☀️ly in the pl☀️."
Das Hinzufügen des g
-Flags (global) stellt sicher, dass alle Übereinstimmungen ersetzt werden, nicht nur die erste.
Case-Insensitive Ersetzung
Sie können das i
-Flag in einem regulären Ausdruck verwenden, um die Übereinstimmung case-insensitive zu machen:
const text = "Hello HELLO hello"; const result = text.replace(/hello/gi, "hi"); console.log(result); // "hi hi hi"
Verwenden einer Ersetzungsfunktion
Wenn Sie den Ersatz dynamisch berechnen möchten, können Sie eine Funktion als zweites Argument übergeben:
const prices = "Product A: $5, Product B: $10"; const updated = prices.replace(/\$(\d+)/g, (match, p1) => { const doubled = parseInt(p1) * 2; return `$${doubled}`; }); console.log(updated); // "Product A: $10, Product B: $20"
Häufige Fehlerquelle: Replace ersetzt nur die erste Übereinstimmung
Standardmäßig ersetzt replace()
nur das erste Vorkommnis, es sei denn, Sie verwenden einen regulären Ausdruck mit dem g
-Flag:
const str = "apple apple apple"; console.log(str.replace("apple", "orange")); // "orange apple apple"
Um alle zu ersetzen, verwenden Sie:
console.log(str.replace(/apple/g, "orange")); // "orange orange orange"
Zusammenfassung
- Verwenden Sie
replace()
, um Zeichenketten in JavaScript zu ändern. - Verwenden Sie reguläre Ausdrücke für globale oder komplexe Ersetzungen.
- Verwenden Sie das
g
-Flag, um alle Vorkommnisse zu ersetzen. - Sie können eine Funktion an
replace()
übergeben, um den Ersetzungswert dynamisch zu berechnen.
Das Verständnis dieser Techniken hilft Ihnen, Zeichenketten in jeder JavaScript-Anwendung effektiv zu manipulieren.
FAQs
Standardmäßig zielt replace()
nur auf die erste Übereinstimmung ab, es sei denn, es wird ein regulärer Ausdruck mit dem g
-Flag verwendet.
Ja, verwenden Sie einen regulären Ausdruck mit dem i
-Flag für case-insensitive Übereinstimmungen.
Übergeben Sie eine Funktion als zweites Argument an replace()
; sie wird für jede Übereinstimmung aufgerufen.
Wir sind Leapcell, Ihre erste Wahl für das Hosten von Node.js-Projekten.
Leapcell ist die Next-Gen Serverless Plattform für Web Hosting, Async Tasks und Redis:
Multi-Language Support
- Entwickeln Sie mit Node.js, Python, Go oder Rust.
Stellen Sie unbegrenzt Projekte kostenlos bereit
- Zahlen Sie nur für die Nutzung – keine Anfragen, keine Gebühren.
Unschlagbare Kosteneffizienz
- Pay-as-you-go ohne Leerlaufgebühren.
- Beispiel: 25 US-Dollar unterstützen 6,94 Millionen Anfragen bei einer durchschnittlichen Antwortzeit von 60 ms.
Optimierte Entwicklererfahrung
- Intuitive Benutzeroberfläche für mühelose Einrichtung.
- Vollautomatische CI/CD-Pipelines und GitOps-Integration.
- Echtzeitmetriken und -protokollierung für verwertbare Erkenntnisse.
Mühelose Skalierbarkeit und hohe Leistung
- Auto-Skalierung zur einfachen Bewältigung hoher Parallelität.
- Kein operativer Overhead – konzentrieren Sie sich einfach auf das Bauen.
Erfahren Sie mehr in der Dokumentation!
Folgen Sie uns auf X: @LeapcellHQ