Text ersetzen
Wertauflöser - Kurzfassung
Zweck: Durchsucht die Zeichenfolge im Eingabewert nach Übereinstimmungen mit dem Suchtext und wendet die per Ersetzen mit definierte Ersetzung an, um den Rückgabewert zu erzeugen.
Der Text ersetzen-Wertauflöser sucht innerhalb Zeichenfolge im Eingabewert nach Übereinstimmungen mit dem Suchtext und wendet die per Ersetzen mit definierte Ersetzung an, um den Rückgabewert zu erzeugen.
Liegt kein Wert ($null) als Eingabewert vor, wird kein Wert ($null) zurückgegeben.
Für Eingabewerte, die keine Strings sind, wird deren String-Abbildung verarbeitet.
Per Option Regulärer Audruck? kann der Suchtext als Regulärer Ausdruck interpretiert werden. Dann unterstützt der Ausdruck für Ersetzen mit auch Referenzen auf im Suchtext definierte Gruppen ($1, $2, ...).
Konfiguration
Parameter |
Bedeutung |
Suchtext |
Dieser Parameter definiert die im Eingabewert gesuchte Teilzeichenfolge bzw. den Regulären Ausdruck, der zu ersetzende Passagen identifiziert. |
Ersetzen mit |
Dieser Parameter definiert die Zeichenfolge, die im Eingabewert an jeder Passage eingesetzt wird, die als Treffer für den Suchtext gilt. In Verbindung mit der Option Regulärer Ausdruck? kann der Ersetzungsausdruck Platzhalter für im Suchtext definierte Gruppen ($1, $2, ...) verwenden. |
Regulärer Ausdruck? |
Die Option Regulärer Ausdruck? entscheidet, ob der Suchtext als Regulärer Ausdruck interpretiert oder (per Standard) als Klartext im Eingabewert gesucht wird. |
►HINWEIS◄ Die Parameter Suchtext und Ersetzen mit können per Direkteingabe (als Text) oder über Wertauflöser zur Laufzeit festgelegt werden.
Im Beispiel rechts wurde der Suchtext direkt als statischer Text (#company#) eingegeben. Da die Option Regulärer Ausdruck? nicht ausgewählt ist, wird der Eingabewert nach allen Übereinstimmungen mit dieser Zeichenfolge durchsucht. Der Wert für Ersetzen mit wird über den Firma der Session-Wertauflöser zur Laufzeit ermittelt. Jeder Treffer für den Suchtext (#company#) wird durch den Namen (address.name1) der Firma aus dem anwendbaren Anmeldekontext ersetzt. ►HINWEIS◄ Ausgehend von der per Standard vorgesehenen Direkteingabe muss die Definition eines Wertauflösers per Klick auf den kleinen grauen Pfeil links unten im Eingabewert (s. Suchtext im Screenshot) eingeleitet werden. Wird anstelle eines Wertauflösers "kein Wert" (aus dem Kontextmenü) ausgewählt, erscheint beim nächsten Aufklappen des Text ersetzen-Wertauflösers wieder die Direkteingabe. |
|
Beispiele
Einfaches Beispiel (Option "Regulärer Ausdruck?" abgewählt)
Als Eingabewert liegt eine Zeichenfolge vor, die unterschiedliche Merkmale eines Containers (BIC-Code, Farbe, Größe, usw.) separiert durch Leerzeichen enthält. Beispiel: SCMU3216083 WHT/BLU 40ft
In einer Benachrichtigung soll diese Zeichenfolge so aufbereitet werden, dass anstelle des Leerzeichens ein Zeilenwechsel und Semigrafik-Zeichen (└─) eingefügt werden, so dass die Angaben nach dem BIC-Code wie Detailelemente in einem Baum erscheinen.
Laufzeitbeispiel: (mit den oben angegebenen Beispieldaten)
Konfiguration:
Innerhalb der Hinweis anzeigen (Popup)-Ereignisaktion wird der Text ersetzen-Wertauflöser wie folgt parametriert, um den hier als Bezugsobjekt anliegenden Eingabewert in den gewünschten Ausgabetext für die Meldung zu verarbeiten:
|
|
Komplexeres Beispiel (Option "Regulärer Ausdruck?" ausgewählt)
Das vorherige Beispiel soll nun unter der Annahme angepasst werden, dass die Zeichenfolge mit den "Container-Details" im Eingabewert immer dieselben Tokens (@BIC@ @COLOR@ @SIZE@) in genau dieser Reihenfolge enthält.
Auf dieser Grundlage sollen diese Informationen in eine XML-Struktur umgewandelt werden:
Zielstruktur (schematisch) |
Laufzeitbeispiel |
<container bic=@BIC@> |
|
Konfiguration:
Im Text ersetzen-Wertauflöser wird diesmal die Option Regulärer Ausdruck? gesetzt, da der Eingabewert mit Hilfe eines Regulären Ausdrucks als Suchtext bequem in die erwarteten Tokens "zerlegt" werden kann:
Der Ausdruck für Ersetzen mit transformiert die erfassten Gruppen in das XML-Format der Zielstruktur, indem die Platzhalter mit Literalen kombiniert werden. |
|
Weitere Beispiele (Option "Regulärer Ausdruck?" ausgewählt)
Die folgende Tabelle zeigt weitere Beispiele für den Einsatz von Regulären Ausdrücken zum Text ersetzen:
Zielsetzung |
Eingabewert |
Suchtext |
Ersetzen mit |
Ergebnis |
Containernummer an beliebiger Position finden und "neutralisieren" |
CONTAINERS: SCMU3216083 WHT/BLU 40ft ABCU1234560 RED/YLW 20ft |
\b[A-Z]{4}[0-9]{7}\b |
@BIC@ |
CONTAINERS: @BIC@ WHT/BLU 40ft @BIC@ RED/YLW 20ft |
Containernummer an beliebiger Position erkennen und alle anderen Textabschnitte "neutralisieren" |
CONTAINERS: SCMU3216083 WHT/BLU 40ft ABCU1234560 RED/YLW 20ft |
(?<=^|\b[A-Z]{4}[0-9]{7}\b).*?(?=\b[A-Z]{4}[0-9]{7}\b|$) |
" " |
SCMU3216083 ABCU1234560 |
Containernummer strukturiert zurückgeben |
SCMU3216083 |
(^[A-Z]{3})([A-Z])(\d{6})(\d) |
$1 $2 $3[$4] |
SCM U 321608[3] |
Einheit "ft" bzw. "FT" für Containergröße ersetzen durch Minutensymbol (') (zwei Alternativen) |
CONTAINERS: SCMU3216083 WHT/BLU 40ft MFTU1234560 RED/YLW 20FT
|
/\b(\d+)ft\b/i |
$1' Platzhalter ($1) kopiert Zifferngruppe |
CONTAINERS: SCMU3216083 WHT/BLU 40' ABCU1234560 RED/YLW 20' |
CONTAINERS: SCMU3216083 WHT/BLU 40ft MFTU1234560 RED/YLW 20FT |
/(?<=\b\d+)ft\b/i "Positive lookbehind" prüft ob Zifferngruppe vorangestellt ist |
' |
CONTAINERS: SCMU3216083 WHT/BLU 40' ABCU1234560 RED/YLW 20' |