Como: Referência: |
STRREP substitui todos os exemplos de uma string especificada dentro de uma string fonte. Também suporta a substituição por strings nulas.
STRREP (inlength, instring, searchlength, searchstring, replength, repstring, outlength, output)
onde:
Numérico
É o número de caracteres em string fonte.
Alfanumérico
É a string fonte.
Numérico
É o número de caracteres na (comprimento mais curto) string a ser substituída.
Alfanumérico
É a string de caracteres a ser substituída.
Numérico
É o número de caracteres na string de substituição. Deve ser zero (0) ou maior.
Alfanumérico
É a string de substituição (alfanumérica). Ignorado se o tamanho da substituição for zero (0).
Numérico
É o número de caracteres na string de saída resultante. Deve ser 1 ou maior.
Alfanumérico
É a string de saída resultante após todas as substituições e preenchimentos.
O comprimento máximo da string é de 4095.
No exemplo a seguir, STRREP localiza e substitui vírgulas e cifrões que aparecem no campo CS_ALPHA, primeiramente substituindo vírgulas por strings nulas para produzir CS_NOCOMMAS (removendo as vírgulas) e, em seguida, removendo os cifrões ($) por (USD) na coluna CURR_SAL da extrema direita:
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
A saída é:
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
Information Builders |