Comment : |
Langages disponibles : reporting, Maintain
La fonction GETTOK divise une chaîne de caractères en sous-chaînes, appelés jetons. Un caractère spécifique, appelé un délimiteur, se produit dans la chaîne et sépare la chaîne en jetons. GETTOK renvoie le jeton spécifié par l'argument token_number. GETTOK ignore les blancs à gauche et à droite dans la chaîne de caractères source.
Par exemple, supposons que vous voulez extraire le quatrième mot d'une phrase. Dans ce cas, utilisez le caractère espace en délimiteur et le nombre 4 pour token_number. GETTOK divise la phrase en mots utilisant ce délimiteur, puis extraits le quatrième mot. Si la chaîne n'est pas divisé par le délimiteur, utilisez la fonction PARAG à cet effet. Voir PARAG : Diviser un texte en petite lignes
GETTOK(source_string, length, token#, 'delim', outlen, output)
où :
Alphanumérique
est la valeur de chaîne source dont le jeton va être extrait.
Entier
est le nombre de caractères du champ source_string. Si cet argument est égal ou inférieur à 0, la fonction renvoie les espaces.
Entier
est le nombre de jetons à extraire. Si cet argument est positif, les jetons sont comptées de gauche à droite. Si cet argument est négatif, les jetons sont comptées de droite à gauche. Par exemple, -2 extrait le deuxième jeton à partir de la droite. Lorsque l'argument est 0, la fonction renvoie une chaîne d'espaces. Les jetons nuls de début et de fin sont ignorés.
Alphanumérique
est le séparateur dans la chaîne parente entouré par des guillemets simples. Si vous spécifiez plus d'un caractère, seul le premier caractère est utilisé.
Remarque : dans le gestionnaire de dialogue, pour éviter la conversion d'un caractère espace délimiteur (' ') en un zéro en double précision, incluez un caractère non numérique après l'espace (par exemple, '%'). GETTOK utilise seulement le premier caractère (l'espace) en délimiteur, alors que le caractère supplémentaire (%) évite une conversion en double précision.
Entier
est la taille du jeton extrait. Si cet argument est égal ou inférieur à 0, la fonction renvoie les espaces. Si le jeton est de plus long que cet argument, il est tronqué; si il est plus court, elle est remplie par des espaces de droite.
Alphanumérique
est le champ qui contient le résultat, ou le format de la valeur de sortie entre guillemets simples. Le séparateur n'est pas inclus dans le jeton.
Notez que le délimiteur n'est pas inclus dans le jeton extrait.
GETTOK extraits le dernier jeton de ADDRESS_LN3; le résultat est stocké dans LAST_TOKEN :
Le délimiteur est un espace.
TABLE FILE EMPLOYEE
PRINT ADDRESS_LN3 AND COMPUTE
LAST_TOKEN/A10 = GETTOK(ADDRESS_LN3, 20, -1, ' ', 10, LAST_TOKEN);
AS 'LAST TOKEN,(ZIP CODE)'
WHERE TYPE EQ 'HSM';
END
La sortie est :
LAST TOKEN ADDRESS_LN3 (ZIP CODE) ----------- ---------- RUTHERFORD NJ 07073 07073 NEW YORK NY 10039 10039 FREEPORT NY 11520 11520 NEW YORK NY 10001 10001 FREEPORT NY 11520 11520 ROSELAND NJ 07068 07068 JERSEY CITY NJ 07300 07300 FLUSHING NY 11354 11354
WebFOCUS |