IBM FileNet P8 Version 5.2.1            

Zeichenfolgefunktionen

Dieser Abschnitt enthält eine kurze Beschreibung der Funktionen, die auf Zeichenfolgewerte angewendet werden.

Tabelle 1. Tabelle mit Funktionen und deren Zweck
Funktion Verwendungszweck
convert Konvertiert eine Zeichenfolge in einen anderen Datentyp oder konvertiert einen anderen Datentyp in eine Zeichenfolge.
decode Konvertiert einen codierten Zeichenfolgeausdruck wieder in die Originalzeichenfolge.
encode Konvertiert einen Zeichenfolgeausdruck in eine sinnlose Textzeichenfolge.
hex Setzt ein Zeichenfolgeliteral mit Hexadezimalzeichencodes in eine ASCII- Zeichenfolge um.
in_set Gibt den booleschen Wert 'true' (wahr) zurück, wenn eine Zeichenfolge komplett aus Zeichen einer anderen Zeichenfolge zusammengesetzt ist.
is_number Gibt den booleschen Wert 'true' (wahr) zurück, wenn ein Zeichenfolgeausdruck in einen Gleitkomma- oder ganzzahligen Wert ausgewertet wird.
is_time Gibt den booleschen Wert 'true' (wahr) zurück, wenn ein Zeichenfolgeausdruck in einen gültigen Zeitwert ausgewertet wird.
len Gibt die Länge einer Zeichenfolge zurück.

lower

upper

Ändert die Zeichen einer Zeichenfolge in Klein- bzw. Großbuchstaben.

ltrim

rtrim

trim

Löscht Leerzeichen oder angegebene Zeichen vom Anfang (ltrim), Ende (rtrim) oder von beiden Enden (trim) einer Zeichenfolge.
max Gibt den höchsten Wert für jeden unterstützten Datentyp aus einer Liste mit Ausdrücken zurück.
min Gibt den niedrigsten Wert für jeden unterstützten Datentyp aus einer Liste mit Ausdrücken zurück.
numbertostring Konvertiert einen Gleitkomma- oder ganzzahligen Ausdruck in einen Zeichenfolgeausdruck unter Verwendung einer angegebenen Maske.
repeat Erzeugt eine Zeichenfolge, indem eine andere Zeichenfolge mehrfach wiederholt wird.
strins Fügt eine Zeichenfolge an der angegebenen Position in eine andere Zeichenfolge ein.
strloc Gibt die Anfangsposition einer Unterzeichenfolge innerhalb einer Zeichenfolge zurück. Wenn die Unterzeichenfolge nicht gefunden wird, gibt die Funktion null zurück.
stringtotime Konvertiert einen Zeichenfolgeausdruck in einen Zeitausdruck unter Verwendung einer angegebenen Maske.
substitute Ersetzt eine Unterzeichenfolge innerhalb einer Zeichenfolge durch eine andere Unterzeichenfolge.
substr Gibt eine Unterzeichenfolge an einer angegebenen Anfangsposition und mit einer angegebenen Länge zurück.
timetostring Konvertiert einen Zeitausdruck in einen Zeichenfolgeausdruck unter Verwendung einer angegebenen Maske.
translate Ersetzt Zeichen in einer Zeichenfolge.
xmlencode Konvertiert ein XML-Feld in eine Zeichenfolgeausdruck.
xmldecode Konvertiert einen Zeichenfolgeausdruck in XML.

hex

Diese Funktion setzt ein Zeichenfolgeliteral mit Hexadezimalzeichencodes in eine ASCII- Zeichenfolge um. Mit der Funktion hex kann jedes beliebige Zeichen ausgedrückt werden. Im Allgemeinen wird die Funktion hex jedoch für Zeichen verwendet, die keine ASCII-Darstellungen haben, wie z. B. Tabulatoren.

Jeweils zwei Hex-Ziffern stellen ein Zeichen in der resultierenden Zeichenfolge dar. Eine ungerade Anzahl von Hexadezimalzeichen im Zeichenfolgeliteral führen zu einem Fehler. Verwenden Sie die folgende Syntax:
hex (hex_codes)
Dabei ist hex_codes ein Zeichenfolgeliteral, das den Hexadezimalcode für ein Zeichen oder eine Folge von Zeichen enthält.
Das folgende Beispiel gibt die Zeichenfolge abc zurück, da 61, 62 und 63 die Hexadezimalcodes für diese Zeichen sind.
hex ("616263")

translate

Diese Funktion erzeugt eine neue Zeichenfolge, indem sie die Zeichen in einer Zeichenfolge durch die angegebenen Zeichen ersetzt. Die Funktion translate ist hilfreich zum Codieren von Zeichen.

Verwenden Sie die folgende Syntax:
translate (source_string, search_string,
replace_string)
Dabei gilt Folgendes:
Tabelle 2. Parameter und Beschreibungen für die Funktion translate
Parameter Beschreibung
source_string Die Zeichenfolge, die die zu ersetzenden Zeichen enthält.
search_string Die Zeichenfolge innerhalb von source_string, die ersetzt werden soll. Diese muss dieselbe Länge haben wie replace_string.
replace_string Die Zeichenfolge mit den Ersetzungszeichen. Diese muss dieselbe Länge haben wie search_string.

Das Suchen und Ersetzen erfolgt zeichenweise. Wenn die Suchzeichenfolge "abc" und die Ersetzungszeichenfolge "def" lautet, setzt die Funktion in der neu erzeugten Zeichenfolge "a" in "d", "b" in "e" und "c" in "f" um.

Beispiel:
source_string enthält "*123-#44-!999"
search_string enthält "#*!-"
replace_string enthält "XYZ&"
Die Funktion gibt in diesem Beispiel die folgende neue Zeichenfolge aus:
Y123&X44&Z999

Der Inhalt der Quellenzeichenfolge (source_string), der Suchzeichenfolge (search_string) und der Ersetzungszeichenfolge (replace_string) ändert sich nicht.

Tipp: Wenn Sie nicht nach einzelnen Zeichen, sondern nach einer gesamten Unterzeichenfolge suchen und diese ersetzen wollen, verwenden Sie die Funktion substitute.
Das folgende Beispiel verwendet die Funktion translate, um eine Zeichenfolge aus dem europäischen Zahlenformat in das amerikanische Zahlenformat umzusetzen.
translate (str, ".,", ",.")

lower, upper

Diese Funktionen konvertieren alle Zeichen in einer Zeichenfolge in Klein- bzw. Großbuchstaben. Verwenden Sie die folgende Syntax:
lower (string_exp)

upper (string_exp)
Dabei ist string_exp der zu konvertierende Zeichenfolgeausdruck.

in_set

Diese Funktion vergleicht zwei Zeichenfolgen und gibt den booleschen Wert 'true' (wahr) zurück, wenn jedes Zeichen in der ersten Zeichenfolge an beliebiger Stelle in der zweiten Zeichenfolge enthalten ist. Wenn die erste Zeichenfolge mindestens ein Zeichen enthält, das nicht auch in der zweiten Zeichenfolge enthalten ist, gibt die Funktion den Wert 'false' (falsch) zurück. Die Zeichen müssen in den beiden Zeichenfolgen nicht in derselben Reihenfolge angeordnet sein. Die zweite Zeichenfolge darf zudem weitere Zeichen enthalten.

Verwenden Sie die folgende Syntax:
in_set (subset_string, superset_string)
Dabei gilt Folgendes:
Tabelle 3. Parameter und Beschreibungen für die Funktion in_set
Parameter Beschreibung
subset_string Der Zeichenfolgeausdruck, der nur die Untergruppenzeichen enthält.
superset_string Der Zeichenfolgeausdruck, mit dem subset_string verglichen wird.
Beispiel:
in_set (name, "abcdefghijklmnopqrstuvwxyz")
Die Funktion gibt 'true' (wahr) zurück, wenn
name = "jim"
aber 'false' (falsch), wenn
name = "Fido"
oder
name = "a.b"

len

Diese Funktion berechnet die tatsächliche (und nicht die deklarierte) Länge eines Zeichenfolgeausdrucks. Sie gibt die Gesamtzahl der Zeichen, einschließlich Leerzeichen, im Ausdruck zurück. Verwenden Sie die folgende Syntax:
len (string_expr)
Dabei ist string_expr der Zeichenfolgeausdruck, dessen Länge berechnet werden soll.
Im folgenden Beispiel wird die Länge 15 zurückgegeben. Beachten Sie, dass die einschließenden Anführungszeichen nicht als Zeichen berechnet werden.
len ("Hamilton Burger")

repeat

Diese Funktion erzeugt eine Zeichenfolge, indem sie eine angegebene Zeichenfolge mehrfach wiederholt. Verwenden Sie die folgende Syntax:
repeat (string_expr, repeat_num)
Dabei gilt Folgendes:
Tabelle 4. Parameter und Beschreibungen für die Funktion repeat
Parameter Beschreibung
string_expr Der zu wiederholende Zeichenfolgeausdruck.
repeat_num Die Wiederholungsanzahl von string_exp.
Das folgende Beispiel gibt die Zeichenfolge "abcdabcdabcdabcdabcd" aus.
repeat ("abcd", 5)

strloc

Eine Unterzeichenfolge ist Teil einer Quellenzeichenfolge; sie kann maximal der Länge der Quellenzeichenfolge entsprechen oder kürzer sein. Gut, Mor, en Morg und Guten Mo sind alles Unterzeichenfolgen von Guten Morgen.

Mit der Funktion strloc können Sie herausfinden, wo eine bestimmte Unterzeichenfolge in einer Quellenzeichenfolge auftritt. Diese Funktion gibt die Position des Anfangszeichens in der Quellenzeichenfolge zurück.

Wenn die Unterzeichenfolge mehrmals in der Quellenzeichenfolge gefunden wird, gibt die Funktion nur die Anfangsposition des ersten Vorkommens zurück. Wenn die Unterzeichenfolge nicht gefunden wird oder wenn die Unterzeichenfolge länger als die Quellenzeichenfolge ist, gibt die Funktion null zurück.

Verwenden Sie die folgende Syntax:
strloc (source_string, sub_string)
Dabei gilt Folgendes:
Tabelle 5. Parameter und Beschreibungen für die Funktion strloc
Parameter Beschreibung
source_string Die Zeichenfolge, in der nach der Unterzeichenfolge gesucht werden soll.
sub_string Die zu suchende Zeichenfolge.
Das folgende Beispiel gibt den Wert 7 zurück, da die Unterzeichenfolge an Position 7 der Quellenzeichenfolge beginnt.
strloc ("Guten Morgen", "Morgen")

substr

Diese Funktion extrahiert eine Unterzeichenfolge aus einer Quellenzeichenfolge und erzeugt damit eine neue Zeichenfolge. Sie geben die Quellenzeichenfolge und die Zeichenposition an, an der die Extraktion beginnen soll. Darüber hinaus können Sie optional die Anzahl der zu extrahierenden Zeichen angeben; ohne diese Angabe stoppt die Extraktion am Ende der Quellenzeichenfolge.

Verwenden Sie die folgende Syntax:
substr (source_string, start_pos {, length})
Dabei gilt Folgendes:
Tabelle 6. Parameter und Beschreibungen für die Funktion substr
Parameter Beschreibung
source_string Die Quellenzeichenfolge.
start_pos Die Zeichenposition, an der die Extraktion beginnen soll.
length Die Anzahl der zu extrahierenden Zeichen (z. B. die Länge der extrahierten Zeichenfolge).
Das folgende Beispiel gibt die Zeichenfolge Morgen zurück. Die einschließenden Anführungszeichen zählen nicht als Teil der Zeichenfolge.
substr ("Guten Morgen!", 6, 7)

Diese Funktion kann auch Zeichenfolgen der Länge Null (Zeichenfolgen ohne Zeichen zwischen den Anführungszeichen) an einer Position extrahieren, die um 1 größer ist als die Länge der Zeichenfolge. Diese Verwendung ist hilfreich für Algorithmen, die Zeichenfolgen der Länge null als Ersterkennungsbedingung haben. Sie können Zeichen von Position 1 bis zum letzten Zeichen der Zeichenfolge +1 extrahieren. Position 1 und die Länge der Zeichenfolge +1 sind also Ersterkennungsbedingungen.

In den folgenden Fällen treten Laufzeitfehler auf:

  • Ihre Anfangsposition ist kleiner als 1 oder größer als die Länge der Quellenzeichenfolge + 1.
  • Die angegebene Länge würde eine Unterzeichenfolge erzeugen, die länger als die verbleibenden Zeichen in der Quellenzeichenfolge ist (d. h. start_pos + length > len (source_string) + 1).

strins

Diese Funktion fügt eine Zeichenfolge in eine andere Zeichenfolge ein und erzeugt so eine neue Zeichenfolge. Die Werte der Quellenzeichenfolge und der Einfügungszeichenfolge ändern sich nicht. Verwenden Sie die folgende Syntax:
strins (source_string, insert_string, start_pos)
Dabei gilt Folgendes:
Tabelle 7. Parameter und Beschreibungen für die Funktion strins
Parameter Beschreibung
source_string Die Zeichenfolge, in die insert_string eingefügt wird, um die neue Zeichenfolge zu erzeugen.
insert_string Die Zeichenfolge, die in source_string eingefügt wird, um die neue Zeichenfolge zu erzeugen.
start_pos

Die Position in source_string, an der die Einfügung beginnt; die Werte reichen von 1 bis zur Länge der Quellenzeichenfolge + 1.

Es tritt ein Fehler auf, wenn Sie einen Wert kleiner als 1 oder größer als source_string + 1 angeben.

Im folgenden Beispiel wird Folgendes angenommen:
insert_str = "Herr Maier"
und
source_str = "Guten Morgen, was für ein herrlicher Tag."
strins (source_str, insert_str, 15)
Mit den oben angegebenen Werten gibt die Funktion die folgende Zeichenfolge zurück:
Guten Morgen, Herr Maier, was für ein herrlicher Tag.

substitute

Diese Funktion erzeugt eine neue Zeichenfolge, indem sie eine Unterzeichenfolge innerhalb der angegebenen Quellenzeichenfolge durch eine andere Unterzeichenfolge ersetzt. Verwenden Sie die folgende Syntax:
substitute (source_string, unwanted_string,
replacement_string)
Dabei gilt Folgendes:
Tabelle 8. Parameter und Beschreibungen für die Funktion substitute
Parameter Beschreibung
source_string Die Zeichenfolge, die unwanted_string enthält.
unwanted_string Die zu ersetzende Unterzeichenfolge in source_string.
replacement_string Die Zeichenfolge, die unwanted_string ersetzt, um eine neue Zeichenfolge zu erzeugen.
Im folgenden Beispiel wird jedes Vorkommen von abc innerhalb von TestString durch wxyz ersetzt. Die Ersetzung erfolgt von links nach rechts.
substitute (TestString, "abc", "wxyz")
Bei
TestString = "abcdabcd"
gibt die Funktion die folgende neue Zeichenfolge zurück:
wxyzdwxyzd
Der Inhalt der Quellenzeichenfolge (source_string), der zu ersetzenden Zeichenfolge (unwanted_string) und der Ersetzungszeichenfolge (replacement_string) ändert sich nicht.
Tipp: Wenn Sie nicht nach einer Unterzeichenfolge, sondern nach einzelnen Zeichen suchen und diese ersetzen wollen, verwenden Sie die Funktion translate.

ltrim, rtrim und trim

Diese Funktionen erzeugen eine neue Zeichenfolge, indem sie eine vorhandene Quellenzeichenfolge kopieren und Leerzeichen oder angegebene Zeichen vom Anfang (ltrim), Ende (rtrim) oder von beiden Enden (trim) der neuen Zeichenfolge löschen. In allen Fällen bleibt die Quellenzeichenfolge unverändert.

Verwenden Sie für alle drei Funktionen die folgende Syntax:
ltrim (string_expr{, trim_char}opt)

rtrim (string_expr{, trim_char}opt)

trim (string_expr{, trim_char}opt)
Dabei gilt Folgendes:
Tabelle 9. Parameter und Beschreibungen für die Funktionen trim, ltrim und rtrim
Parameter Beschreibung
string_expr Der zu kopierende Quellenzeichenfolgenausdruck.
trim_char

Ein optionaler Parameter, der die Zeichen angibt, die aus der neuen Zeichenfolge gelöscht werden sollen. Wenn Sie diesen Parameter nicht angeben, werden Leerzeichen gelöscht.

Je nach Funktion beginnt der Löschvorgang am Anfang, am Ende oder an beiden Enden der neuen Zeichenfolge und wird fortgesetzt, bis ein Zeichen, das nicht in trim_char angegeben ist, bzw. ein anderes Zeichen als ein Leerzeichen gefunden wird.

Im folgenden Beispiel werden alle führenden Leerzeichen von LastName gelöscht. In dem Beispiel ist
LastName = "Schmidt"
und die zurückgegebene neue Zeichenfolge ist
"Schmidt"
ltrim (LastName)
Im Beispiel unten wird das Zeichen "&" vom Ende der Zeichenfolge namens Status gelöscht. Bei
Status = "OpenXY&Z&&&&"
lautet die zurückgegebene neue Zeichenfolge
"OpenXY&Z"
.
rtrim (Status, "&")
Im folgenden Beispiel werden alle abschließenden Ziffern von AccountName gelöscht.
rtrim (AccountName, "0123456789")

is_number

Diese Funktion ermittelt, ob der angegebene Zeichenfolgeausdruck in einen Gleitkomma- oder ganzzahligen Wert ausgewertet wird. Die Funktion is_number gibt den booleschen Wert 'true' (wahr) zurück, wenn die gesamte Zeichenfolge (und nicht nur eine Unterzeichenfolge) in einen Gleitkomma- oder ganzzahligen Wert ausgewertet wird; wenn dies nicht der Fall ist, gibt sie 'false' (falsch) zurück.

Verwenden Sie die folgende Syntax:
is_number (expr)
Dabei ist expr ein Zeichenfolgeausdruck.
In den folgenden drei Beispielen werden true, false und false zurückgegeben.
is_number ("123.4")

is_number ("no")

is_number ("abc63j")

is_time

Diese Funktion ermittelt, ob der angegebene Zeichenfolgeausdruck in einen Zeitwert des angegebenen Formats ausgewertet wird. Die Funktion is_time gibt den booleschen Wert 'true' (wahr) zurück, wenn die gesamte Zeichenfolge (und nicht nur eine Unterzeichenfolge) in einen Zeitwert ausgewertet wird, der wie angegeben formatiert ist. Ansonsten gibt die Funktion den Wert 'false' (falsch) zurück.

Verwenden Sie die folgende Syntax:
is_time (Zeichenfolgeausdruck, Datums-/Zeitmaske)
Dabei gilt Folgendes:
Tabelle 10. Parameter und Beschreibungen für die Funktion is_time
Parameter Beschreibung
Zeichenfolgeausdruck Ein Zeichenfolgeausdruck.
Datums-/Zeitmaske Eine Datums-/Zeitmaske, die das Format angibt, das Zeichenausfolgeausdruck verwenden muss, damit is_time den Wert 'true' zurückgibt.
Von den folgenden Beispielen gibt das erste Beispiel 'false' und das zweite Beispiel 'true' zurück. In beiden Beispielen wird die Funktion convert verwendet, um die Zeichenfolgeausdrücke in den Zeitdatentyp umzusetzen, sodass die Funktion is_time ausgewertet werden kann.
is_time ("nov121995", "mm/dd/yyyy")

is_time ("11/12/1995", "mm/dd/yyyy")

timetostring

Diese Funktion konvertiert einen Zeitausdruck in einen Zeichenfolgeausdruck unter Verwendung des angegebenen Formats. Verwenden Sie die folgende Syntax:
timetostring (Zeitausdruck, Datums-/Zeitmaske)
Dabei gilt Folgendes:
Tabelle 11. Parameter und Beschreibungen für die Funktion timetostring
Parameter Beschreibung
Zeitausdruck Ein Ausdruck des Zeitdatentyps.
Datums-/Zeitmaske Eine Datums-/Zeitmaske, die das Format der Ausgabe der Funktion timetostring bestimmt.
Das folgende Beispiel konvertiert die Systemzeit in eine Zeichenfolge. Die Zeichenfolge wird mit der angegebenen Datums-/Zeitmaske formatiert.
timetostring (systemtime(), "mm/dd/yyyy hh:tt:ss am")
Wenn im obigen Beispiel systemtime() dem 1. Juli 1985 um 6 Sekunden nach 12:45 entspricht, lautet die Zeichenfolgeausgabe wie folgt:
7/1/1985 12:45:06 pm

Weitere Informationen finden Sie in systemtime().

stringtotime

Diese Funktion konvertiert Zeichenfolgen unter Verwendung des angegebenen Formats in Zeitwerte. Verwenden Sie die folgende Syntax:
stringtotime (Zeichenfolgeausdruck, Datums-/Zeitmaske)
Dabei gilt Folgendes:
Tabelle 12. Parameter und Beschreibungen für die Funktion stringtotime
Parameter Beschreibung
Zeichenfolgeausdruck Ein Ausdruck des Zeichenfolgedatentyps.
Datums-/Zeitmaske Eine Datums-/Zeitmaske, die das Zeitformat für die Konvertierung angibt.
Im folgenden Beispiel ist HostTime eine Zeichenfolgevariable.
stringtotime (HostTime, "mon. dd, yyyy hh:tt:ss am")
Bei
HostTime = "Jul. 1, 1985 12:45:06 pm"
entspricht die Ausgabe dem folgenden Zeitwert: 1. Juli 1985, 6 Sekunden nach 12:45.

encode, decode

Diese Funktionen konvertieren Zeichenfolgen in sinnlose Zeichenfolgen, um den Inhalt zu kaschieren. Die Codierung und die Decodierung müssen beide im selben Workflow erfolgen.

Die Funktion decode kann verwendet werden, um einen Zeichenfolgeausdruck mit mehreren codierten Zeichenfolgen zu konvertieren.
encode (Zeichenfolgeausdruck)

decode (Zeichenfolgeausdruck)
Dabei gilt Folgendes:
Tabelle 13. Parameter und Beschreibungen für die Funktionen decode und encode
Parameter Beschreibung
Zeichenfolgeausdruck Ein Ausdruck des Zeichenfolgedatentyps. Die Zeichenfolge darf kein Literal sein.


Letzte Aktualisierung: Oktober 2015
bpfe012.htm

© Copyright IBM Corp. 2015.