Die Systemfunktion 'strLib.getNextToken()' durchsucht eine Unterzeichenfolge nach einem Token und kopiert dieses Token in ein Zielelement.
Tokens sind Zeichenfolgen, die durch Begrenzungszeichen voneinander getrennt sind. Wenn beispielsweise Leerzeichen (" ") und Komma (",") als Begrenzer definiert sind, kann die Zeichenfolge "CALL PROGRAM ARG1,ARG2,ARG3" in die fünf Tokens "CALL", "PROGRAM", "ARG1", "ARG2" und "ARG3" unterteilt werden. Die Funktion ruft die Tokens einzeln nacheinander ab. Der Abruf basiert auf einem Indexwert, der auf die Position des jeweiligen Tokens in der Zeichenfolge verweist.
Die Funktion 'strLib.getNextToken()' ist überlastet, sodass Sie denselben Funktionsnamen mit unterschiedlichen Konfigurationen von Parametern und Rückgabewerten aufrufen können. Das folgende Format der Funktion stellt die bevorzugte Variante dar:
strLib.getNextToken(
Quelle STRING | CHAR | DBCHAR | MBCHAR | UNICODE inOut,
Index INT inOut,
Begrenzungszeichen STRING | CHAR | DBCHAR | MBCHAR | UNICODE in)
returns (Token STRING? | CHAR? | DBCHAR? | MBCHAR? | UNICODE?)
Das folgende Format ist zwecks Kompatibilität mit früheren Versionen verfügbar:
strLib.getNextToken(
Ziel CHAR | DBCHAR | MBCHAR | UNICODE inOut,
Quelle CHAR | DBCHAR | MBCHAR | UNICODE in,
Index INT inOut,
Länge_der_Unterzeichenfolge INT inOut,
Begrenzungszeichen STRING in)
returns (Ergebnis INT)
In diesem Beispiel verwendet das Programm den aktualisierten Wert von i, um eine Zeichenfolge in einer Schleife zu durchlaufen und die Tokens in einer Feldgruppe zu speichern.
commandLine string = "CALL PROG1 arg1,arg2";
delimiters string = " ,"; // Leerzeichen und Komma als Begrenzungszeichen
i int = 1;
max int;
tokens string[0];
token string? = "";
function main()
max = strLib.byteLen(commandLine);
// Verarbeitung endet, wenn die Funktion 'getNextToken' eine Null zurückgibt
while(i < max && token != null)
token = StrLib.getNextToken(commandLine, i, delimiters);
if (token != null)
tokens.appendElement(token);
end
end
end
| Plattform | Problem |
|---|---|
| JavaScript-Generierung | Die Funktion 'strLib.getNextToken()' wird nicht unterstützt. |