$pattern.regexReplace($text, $replacement)
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.
| 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 |
Typ: Zeichenkette
Der Text, in dem alle Suchtreffer ersetzt wurden.
regex("a(b+)").regexReplace("XXXabbbYYY", "_")
Ausgabe: XXX_YYY
Der einzige Suchtreffer "abbb" wird durch ein "_" ersetzt
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.
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.