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.