Cómo: Referencia: |
STRREP reemplaza todas las repeticiones de una cadena determinada, dentro de una cadena de origen. Además, es compatible con la sustitución por cadenas nulas.
STRREP (inlength, instring, searchlength, searchstring, replength, repstring, outlength, output)
donde:
Numérico
El número de caracteres en la cadena de origen.
Alfanumérico
Es la cadena de origen.
Numérico
Es el número de caracteres que se va a reemplazar en la cadena más corta.
Alfanumérico
Es la cadena de caracteres que se va a reemplazar.
Numérico
El número de caracteres en la cadena de reemplazo. Debe ser igual o mayor que cero (0).
Alfanumérico
Es la cadena de reemplazo (alfanumérica). Se ignora si replength es igual a cero (0).
Numérico
El número de caracteres en la cadena de salida resultante. Debe ser igual o mayor que 1.
Alfanumérico
Es la cadena de salida resultante, después de haber aplicado el relleno y el reemplazo.
La longitud máxima de la cadena es de 4095.
En el siguiente ejemplo, STRREP localiza y sustituye todas las comas y símbolos de dólar que aparecen en el campo CS_ALPHA: primero reemplaza las comas por cadenas nulas, para producir CS_NOCOMMAS (eliminando las comas) y, a continuación, reemplaza los signos de Dólar ($) por (USD) en la primera columna, empezando por la derecha, de CURR_SAL:
TABLE FILE EMPLOYEE SUM CURR_SAL NOPRINT COMPUTE CS_ALPHA/A15=FTOA(CURR_SAL,'(D12.2M)',CS_ALPHA); CS_NOCOMMAS/A14=STRREP(15,CS_ALPHA,1,',',0,'X',14,CS_NOCOMMAS); CS_USD/A17=STRREP(14,CS_NOCOMMAS,1,'$',4,'USD ',17,CS_USD); NOPRINT CS_USD/R AS CURR_SAL BY LAST_NAME END
La salida es:
LAST_NAME CS_ALPHA CS_NOCOMMAS CURR_SAL --------- -------- ----------- ----------------- BANNING $29,700.00 $29700.00 USD 29700.00 BLACKWOOD $21,780.00 $21780.00 USD 21780.00 CROSS $27,062.00 $27062.00 USD 27062.00 GREENSPAN $9,000.00 $9000.00 USD 9000.00 IRVING $26,862.00 $26862.00 USD 26862.00 JONES $18,480.00 $18480.00 USD 18480.00 MCCOY $18,480.00 $18480.00 USD 18480.00 MCKNIGHT $16,100.00 $16100.00 USD 16100.00 ROMANS $21,120.00 $21120.00 USD 21120.00 SMITH $22,700.00 $22700.00 USD 22700.00 STEVENS $11,000.00 $11000.00 USD 11000.00
WebFOCUS |