STRREP: Cómo reemplazar las cadenas de caracteres

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.


Principio de página

x
Sintaxis: Cómo Reemplazar las cadenas de caracteres
STRREP (inlength, instring, searchlength, searchstring, replength, repstring, outlength, output)

donde:

inlength

Numérico

El número de caracteres en la cadena de origen.

instring

Alfanumérico

Es la cadena de origen.

searchlength

Numérico

Es el número de caracteres que se va a reemplazar en la cadena más corta.

searchstring

Alfanumérico

Es la cadena de caracteres que se va a reemplazar.

replength

Numérico

El número de caracteres en la cadena de reemplazo. Debe ser igual o mayor que cero (0).

repstring

Alfanumérico

Es la cadena de reemplazo (alfanumérica). Se ignora si replength es igual a cero (0).

outlength

Numérico

El número de caracteres en la cadena de salida resultante. Debe ser igual o mayor que 1.

output

Alfanumérico

Es la cadena de salida resultante, después de haber aplicado el relleno y el reemplazo.


Principio de página

x
Referencia: Notas de uso de la función STRREP

La longitud máxima de la cadena es de 4095.



Ejemplo: Cómo reemplazar las comas y símbolos de Dólar

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