Mit Stringoperatoren ist es möglich in Teile von Zeichenfolgen (Strings) abzutrennen und zu neuen Strings zusammenzusetzen. Der Stringoperator wird mit ein Doppelpunkt (:) direkt hinter die betreffende Stringvariable geschrieben. Der Vergleichsstring wird direkt an den Operator, durch ein | getrennt, angehängt. Der Aufbau ist Operator|Position|Trennzeichen. Ausnahme Between, da werden zwei Positionen übergeben.
Folgende Operatoren stehen zur Verfügung:
| Operator | Funktion | |
|---|---|---|
| after | first | Liefert den Teilstring rechts des ersten Trennzeichens |
| last | Liefert den Teilstring rechts des zuletzt (ganz rechts) vorkommenden Trennzeichens | |
| befor | first | Liefert den Teilstring links des ersten Trennzeichens |
| last | Liefert den Teilstring links des zuletzt (ganz rechts) vorkommenden Trennzeichens | |
| between | first | Liefert den Teilstring zwischen den beiden genannten Trennzeichen |
| second | ||
| last | ||
two | Liefert den Teilstring zwischen den angegeben Zeichen. Ist nur eines angegeben, wird zwischen zwei Vorkommen dieses Zeichen gesucht | |
| FillToLen | L | Füllt einen String links oder rechts mit einem bestimmten Zeichen auf die angegebene Länge auf 1) |
| R | ||
| replace | Ersetzt ein Zeichen in einem String, durch ein anderes | |
r | ZAHL | Entfernt (remove) hinter der n. Stelle von links, Ergebnis ist der linke Teil des Strings |
s | ZAHL | Teilstring (substring) ab der n. Stelle von links, Ergebnis ist der Teil rechts davon |
Hier wird eine Eigenschaft mit der Benennung ArtNr mit dem Dateinamen beschrieben, der allerdings nach dem letzten „-“ abgekürzt wird.
<ArtNr value="%FILENAME:befor|last|-%" /> <!-- Liefert den Teilstring zwischen einem _ und einem - --> <DocLang value="%FILENAME:between|two|_-%" /> <!-- Teilstrings --> <!-- Schneidet die Nummer hinter dem zweiten Zeichen ab --> <ArtNr value="#(Number:r|2)" /> <!-- Nimmt den Teilstring ab dem zweiten Zeichen und schneidet davon hinter dem dritten Zeichen weg --> <ArtNr value="#(Number:s|2:r|3)" />
Im Beispiel wird die Number Linksbündig mit 0 auf 7 Stellen aufgefüllt und anschließend um die Revision ergänzt.
<Sample filename="CALL(FillToLen #(Number)|L|0|7)#(Revision)" />
An einigen Stellen, z.B. in Jobserver Parametern, darf das Pipe Zeichen jedoch nicht verwendet werden da es die übergeordneten Parameter unterbricht. In dem Fall wird das erste Pipe durch ein „#“ und folgende durch die unterbrochene Pipe (¦ ALT+0166) ersetzt.
Beispiel:
.\#(Number:replace#.¦-)
Soll vom Dateiname nur ein Teilstring verwendet werden, dann darf kein Pipesymbol (|) verwendet werden.
<!-- Substring ab Stelle 7 --> <ArtNr value="%FILENAME:s7%" /> <!-- Remove ab Stelle 7: --> <ArtNr value="%FILENAME:r7%" />