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; } });
vormals
mit einem Namen. Auf den gespeicherten Namen wird mit String.replace()
ein Suchen-Ersetzen-Vorgang angewendet. Der erste Parameter, der replace()
übergeben wird, ist ein regulärer Ausdruck. Dieser passt durch den g-Zusatz auf alle Vorkommen der Zeichenfolge "Hinz" in der Variable vormals
. Der Suchtreffer des regulären Ausdrucks wird durch "Kunz, geb. Hinz" ersetzt. Das Ergebnis wird zur Kontrolle ausgegeben.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:
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:
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()