Ersetzen

Syntax

	$pattern.regexReplace($text, $replacement)

Beschreibung

Ersetzt die Vorkommen des gegebenen Pattern im gegebenen Text durch die gegebene Ersetzung. Die Ersetzung kann entweder ein String oder eine Funktion sein.

Ist die Ersetzung ein String, wird jeder Suchtreffer im gegebenen Text durch den gegebenen Ersetzungsstring ersetzt.

Enthält der Ersetzungsstring Rückreferenzen ($1, $2,…), so werden diese durch den von der referenzierten Gruppe getroffenen Text ersetzt.

Ist die Ersetzung einen Funktion, so wird diese mit jedem Such-Treffer aufgerufen und erzeugt einen dynamischen Ersetzungstext. Der Rückgabewert der Funktion kann ebenfalls Rückreferenzen enthalten.

Parameter

Name Typ Beschreibung Pflicht Default
pattern Fachobjekt Das Regex-Pattern, mit dem der zu ersetzende String gesucht werden soll. ja
text Zeichenkette Der Text, indem nach passenden Suchtreffern für das Pattern gesucht wird, um diese dann zu ersetzen. ja
replacement Zeichenkette/Funktion Gibt an, wie die Suchtreffer ersetzt werden sollen. ja

Rückgabewert

Typ: Zeichenkette

Der Text, in dem alle Suchtreffer ersetzt wurden.

Beispiele

Einfaches Ersetzen

	regex("a(b+)").regexReplace("XXXabbbYYY", "_")

Ausgabe: XXX_YYY

Der einzige Suchtreffer "abbb" wird durch ein "_" ersetzt

Ersetzen mit Referenz

	regex("a(b+)").regexReplace("XXXabbbYYY", "_$1_")

Ausgabe: XXX_bbb_YYY

Die Referenz $1 bezieht sich auf die erste Gruppe (b+). Ersetzt wird der Suchtreffer "abbb" durch den Inhalt der Gruppe "bbb", der zusätzlich noch von "_" umschlossen wird.

Ersetzen mit Funktion

	regex("a(b+)").regexReplace("XXXabbbYYY", m -> $m.regexGroup(1).length())

Ausgabe: XXX3YYY

Der Suchtreffer "abbb" wird ersetzt durch die Länge der ersten Gruppe (b+), die 3 entspricht.