GETTOK: Cómo extraer una subcadena (Token)

Cómo:

Idiomas disponibles: informes, Maintain

La función GETTOK divide la cadena de caracteres en subcadenas, denominadas tokens o símbolos. Los datos deben tener un carácter específico, denominado delimitador, que tiene lugar en la cadena y la divide en tokens. GETTOK devuelve el token especificado por el argumento token_number. GETTOK ignora los espacios en blanco iniciales y finales de la cadena de caracteres de origen.

Por ejemplo, suponga que desea extraer la cuarta palabra de una frase. En este caso, emplee el carácter de espacio como delimitador y el número 4 para token_number. GETTOK divide la frase en palabras mediante este delimitador y después extrae la cuarta palabra. Si el delimitador no ha divido la cadena, emplee la función PARAG. Consulte PARAG: Cómo dividir textos en líneas más pequeñas.


Principio de página

x
Sintaxis: Cómo Extraer una subcadena (Token)
GETTOK(source_string, length, token#, 'delim', outlen, output)

donde:

source_string

Alfanumérico

Es la cadena de origen de la que se extrae el token.

length

Número entero

El número de caracteres en source_string. Si este argumento es menor o igual que 0, la función devuelve espacios.

token#

Número entero

Es el número del token que se va a extraer. Si el argumento es positivo, los tokens se cuentan de izquierda a derecha. Si es negativo, se cuentan de derecha a izquierda. Por ejemplo, -2 extrae el segundo token empezando por la derecha. Si el argumento es 0, la función devuelve espacios. Se ignoran los tokens nulos iniciales y finales.

'delim'

Alfanumérico

Es el delimitador de la cadena de origen, entre comillas simples. Si especifica más de un carácter, sólo se usa el primero.

Nota: En Dialogue Manager, para evitar que el carácter de espacio delimitador (' ') se convierta en un cero de doble precisión, incluya un carácter no numérico después del espacio (por ejemplo, '%'). GETTOK sólo utiliza el primer carácter (el espacio) delimitador, mientras que el carácter adicional (%) evita la conversión al cero de doble precisión.

outlen

Número entero

Es el tamaño de un token extraído. Si este argumento es menor o igual que 0, la función devuelve espacios. Si el token es más largo que el argumento, queda truncado y, si es más corto, se le añaden espacios finales.

output

Alfanumérico

Es el nombre del campo que contiene el token, o el formato del valor de salida entre comillas simples El delimitador no está incluido en el token.

Tenga en cuenta que el delimitador no está incluido en el token extraído.



Ejemplo: Cómo extraer un token

GETTOK extrae el último token de ADDRESS_LN3 y guarda el resultado en LAST_TOKEN.

El delimitador es un espacio:

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 salida es:

                      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