STRREP: Sostituzione stringhe di caratteri

Come:

Riferimento:

STRREP sostituisce tutte le istanze di una stringa specifica all'interno di una stringa d'origine. Questa funzione supporta la sostituzione da stringhe nulle.


Inizio pagina

x
Sintassi: Come sostituire stringhe di caratteri
STRREP (inlength, instring, searchlength, searchstring, replength, repstring, outlength, output)

dove:

inlength

Numerico

Numero di caratteri contenuti nella stringa d'origine.

instring

Alfanumerico

Stringa d'origine.

searchlength

Numerico

Numero di caratteri contenuti nella stringa (di lunghezza minore) da sostituire.

searchstring

Alfanumerico

Stringa di caratteri da sostituire.

replength

Numerico

Numero di caratteri contenuti nella stringa di sostituzione. Deve essere zero (0) o maggiore.

repstring

Alfanumerico

La stringa di sostituzione (alfanumerica). Ignorata se replength è pari a zero (0).

outlenght

Numerico

Numero di caratteri contenuti nella stringa di emissione risultante. Deve essere pari a 1 o maggiore.

emissione

Alfanumerico

Stringa di emissione risultante dopo tutte le sostituzioni e riempimenti.


Inizio pagina

x
Riferimento: Note per l'uso per la funzione STRREP

La lunghezza massima della stringa è 4095.



Esempio: Sostituzione virgole e simboli dollaro

Nel seguente esempio, STRREP trova e sostituisce virgole e simboli dollaro che si visualizzano nel campo CS_ALPHA, prima sostituendo le virgole con stringhe nulle per produrre CS_NOCOMMAS (rimozione delle virgole) e poi sostituendo i simboli dollaro ($) con (USD) nella colonna più a destra 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

L'emissione è:

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