JavaScript/Objekte/String/replace
Die Methode String.replace() durchsucht eine Zeichenkette mit Hilfe eines regulären Ausdrucks und ersetzt Zeichenfolgen, auf die der reguläre Ausdruck passt. Alternativ kann die Methode auch das erste Vorkommen einer zu definierenden Zeichenkette ersetzen.
str.replace(regexp|substr, neuerSubStr|function[, flags])
Erwartet folgende Parameter:
regexp
= ein regulärer Ausdruck, der Suchtreffer liefern kann, odersubstr
= eine Zeichenkette, deren erstes Vorkommen ersetzt werden sollneuerSubstr
= eine Zeichenkette, durch die gefundene Stelle(n) ersetzt werden soll(en)
Standardmäßig wird nur die erste gefundene Zeichenfolge ersetzt. Um mit einem Aufruf von replace()
alle Vorkommen zu ersetzen, müssen Sie den regulären Ausdruck mit dem g-Parameter notieren, z. B. /Zeichenfolge/g
, oder die Methode replaceAll verwenden.
Inhaltsverzeichnis
Anwendungsbeispiel
document.addEventListener('DOMContentLoaded', function () {
document.getElementById('button').addEventListener('click', ersetzen);
function ersetzen() {
var vormals = "Elke Hinz";
var jetzt = vormals.replace(/Hinz/g, "Kunz, geb. Hinz");
ausgabe(jetzt);
}
function ausgabe(text){
document.getElementById('output').innerText = text;
}
});
Näheres über reguläre Ausdrücke und weitere Beispiele für diese Methode finden Sie beim RegExp-Objekt.
weitere Beispiele
t1 = "Die \"Anführungszeichen\" ersetzen. Die \"Anführungszeichen\" ersetzen.";
t1 = t1.replace(" \"", " »");
t1 = t1.replace("\" ", "« ");
ausgabe(t1);
// Die »Anführungszeichen« ersetzen. Die "Anführungszeichen" ersetzen.
Das erste Argument kann auch ein regulärer Ausdruck sein. Wird dieser mit dem Modifikator 'g' angegeben, werden alle Vorkommen ersetzt:
t1 = "Die \"Anführungszeichen\" ersetzen. Die \"Anführungszeichen\" ersetzen.";
t1 = t1.replace(/\s"/g, " »");
t1 = t1.replace(/"\s/g, "« ");
ausgabe(t1); // Die »Anführungszeichen« ersetzen. Die »Anführungszeichen« ersetzen.
Das zweite Argument kann folgende speziellen Ersetzungsmuster beinhalten:
Name | Wert |
$$ | setzt ein '$' ein |
$& | setzt den passenden Teilstring ein |
$` | setzt den Teilstring vor dem passenden Teilstring ein |
$' | setzt den Teilstring nach dem passenden Teilstring ein |
$n | Wobei n eine Zahl ist: falls das erste Argument ein regulärer Ausdruck war, werden so die geklammerten Teilstrings eingesetzt. |
t1 = "Möge die Macht mit dir sein!";
t2 = t1.replace('Macht', '»$&«');
ausgabe(t2);
Das zweite Argument kann auch eine Funktion sein, die einen String zurückgibt. Diese Funktion kann folgende Argumente haben:
Name | Wert |
str | der zu ersetzende Teilstring |
p1, p2, … | geklammerte Teilstrings, wenn das erste Argument ein regulärer Ausdruck ist |
offset | Position des zu ersetzenden Teilstrings |
s | der gesamte durchsuchte String |
t1 = "Die \"Anführungszeichen\" ersetzen.";
t2 = t1.replace(/\s"|"\s/g, function (needle) {
switch (needle) {
case ' "':
return ' »';
case '" ':
return '« ';
}
});
ausgabe(t2); // Die »Anführungszeichen« ersetzen.
Siehe auch
- JavaScript/Tutorials/Grundlagen von Strings und Arrays#Vorkommen ersetzen
- HTML/Tutorials/Code in HTML darstellen (HTML-eigene Zeichen maskieren)
Weblinks
- ECMAScript 2015 (6th Edition, ECMA-262): String.replace()
- MDN: String.replace()
vormals
mit einem Namen. Auf den gespeicherten Namen wird mitString.replace()
ein Suchen-Ersetzen-Vorgang angewendet. Der erste Parameter, derreplace()
übergeben wird, ist ein regulärer Ausdruck. Dieser passt durch den g-Zusatz auf alle Vorkommen der Zeichenfolge "Hinz" in der Variablevormals
. Der Suchtreffer des regulären Ausdrucks wird durch "Kunz, geb. Hinz" ersetzt. Das Ergebnis wird zur Kontrolle ausgegeben.