Inhaltsverzeichnis

Stringoperatoren

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.

Liste der Stringoperatoren

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

Beispiele

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)" />

Abweichende Syntax bei FillToLen

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)" />

Alternatives Pipe Zeichen bei Verwendung in Parameter

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#.¦-)

Teilstrings bei %FILENAME%

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%" />

Siehe auch

1)
Abweichende Syntax beachten