CSS, HTML und Javascript mit {stil}

Javascript Strings: replace, search, match

Javascript Strings

Javascript search, replace, test und match sind die Methoden für das Suchen und Ersetzen von Zeichen in Strings. replace ersetzt Zeichenketten in Strings. match sucht nach Strings. search und test testen, ob ein String innerhalb einer Zeichenkette vorkommt.

replace, search, test und match agieren auf einfachen Zeichenketten. Erst bei komplexen Suchen- und Ersetzungen kommen reguläre Ausdrücke ins Spiel.

Reguläre Ausdrücke sehen schnell aus, als hätte die Katze die Tastatur in Beschlag genommen – aber für den Anfang reichen die einfachen Varianten.

match()

Javascript match(str) durchsucht eine Zeichenkette nach der Zeichenkette str und gibt ein Array mit den Treffern oder null (wenn keine Treffer erzielt wurden) zurück.

Der Mann im Anzug gab dem Zug 444 den Vorzug.

var simpleString = document.querySelector('.zug').innerHTML;

var matches = simpleString.match("zug"); // findet das erst 'zug'
var matches = simpleString.match(/zug/g); // findet alle 'zug'
var matches = simpleString.match(/zug/gi); // findet alle 'zug' und 'Zug'

Die Suche nach einem einfachen String gibt den ersten Treffer zurück, falls das Suchmuster gefunden wird, und null sonst.

Wenn alle Vorkommen von »zug« oder »Zug« unabhängig von Groß- und Kleinschreibung gefunden werden sollen, kann Javascript match() mit einem regulären Ausdruck aufgerufen werden.

Anstelle der Hochkommas liegen Schrägstriche rund um die gesuchte Zeichenkette. Ein g hinter dem schließenden Schrägstrich sucht alle Vorkommen von »zug«, ein i findet »zug« in Groß- und Kleinschreibung.

Javascript match ist die Wahl, wenn nicht nur die Existenz des gesuchten Strings getestet wird, sondern die Treffer für die Weiterverarbeitung gebraucht werden.

Javascript replace()

Javascript replace(a,b) sucht Text a in einem String und ersetzt ihn durch Text b.

var simpleString = "Der Barbar zahlt bar in der Bar.";
var newString = simpleString.replace("bar","bier"); // Ersetzt das erste 'bar'
var newString = simpleString.replace(/bar/g,"bier"); // Ersetzt alle 'bar'
var newString = simpleString.replace(/bar/gi,"bier"); // Ersetzt alle 'bar' und 'Bar'

Suchen und Ersetzen mit Javascript replace(a,b) und einem einfachen String a ersetzt das erste Vorkommen des Suchstrings durch b.

Wenn alle Vorkommen der Zeichenkette a durch b ersetzt werden sollen oder Groß- und Kleinschreibung eine Rolle spielen, kann Javascript replace() mit einem regulären Ausdruck aufgerufen werden.

search

Javascript search(str) gibt die Position der Zeichenkette str zurück, wenn str gefunden wird, und -1 sonst.

Da es bei einem einfachen String keine Möglichkeit gibt, die Suche unabhängig von Klein-/Großschreibung durchzuführen, findet search() die Zeichenfolge erst an Position 28.

Anstelle eines einfachen Strings kann Javascript search (genauso wie match und replace) mit einem regulären Ausdruck aufgerufen werden. Dann kann die Suche im Text Groß- und Kleinschreibung unterscheiden und alle Treffer aus einem Text ziehen.

test

Javascript test ist die einfachste und schnellste Variante für die Suche. test(str) sucht den String str und gibt true zurück, wenn str gefunden wird, und false sonst. test gibt keine Daten zurück.