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.
str.replace(regexp|substr, neuerSubStr|function[, flags])
Erwartet folgende Parameter:
regexp
= Ein regulärer Ausdruck, der Suchtreffer liefern kann.neuerSubstr
= eine Zeichenkette, durch die gefundene Stellen ersetzt werden sollen.
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
.
Inhaltsverzeichnis
Anwendungsbeispiel[Bearbeiten]
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[Bearbeiten]
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[Bearbeiten]
- HTML/Tutorials/HTML-Code in HTML darstellen (HTML-eigene Zeichen maskieren)
Weblinks[Bearbeiten]
- 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.