Como: |
A função TRIM_ remove todas as ocorrências de um único caractere a partir do início, do fim de uma string ou de ambos.
Comunicado:
TRIM_(where, pattern, string)
onde:
Palavra-chave
Define onde cortar a string fonte. Valores válidos são:
Alfanumérico
É um caractere simples, entre aspas simples ('), cujas ocorrências devem ser removidas de string. Por exemplo, o caractere pode ser um espaço em branco simples (' ').
Alfanumérico
É o valor a ser cortado.
O tipo de dados da string exibida é AnV.
Na solicitação a seguir, TRIM_ remove ocorrências do caractere 'B' à esquerda do campo DIRECTOR:
TABLE FILE MOVIES PRINT DIRECTOR AND COMPUTE TRIMDIR/A17 = TRIM_(LEADING, 'B', DIRECTOR); WHERE DIRECTOR CONTAINS 'BR' ON TABLE SET PAGE NOPAGE END
A saída é:
DIRECTOR TRIMDIR -------- ------- ABRAHAMS J. ABRAHAMS J. BROOKS R. ROOKS R. BROOKS J.L. ROOKS J.L.
A solicitação a seguir corta um ponto à direita (.) do nome do diretor. O campo DIRETOR possui o formato A17, portanto, há espaços em branco à direita na maioria das ocorrências do campo. Para criar um campo (DIRECTORV) sem espaços em branco à direita, SQUEEZ converte todos os espaços em branco em DIRETOR em um único, TRIMV remove o espaço em branco à direita que resta e armazena o campo com o formato A17V, portanto, é possível saber o comprimento dos caracteres reais. Em seguida, TRIM_ é chamado em relação a DIRETOR e DIRECTORV, criando os campos TRIMDIR (DIRETOR cortado) e TRIMDIRV (DIRECTORV cortado):
DEFINE FILE MOVIES DIRECTORV/A17V = TRIMV('T', SQUEEZ(17, DIRECTOR, 'A17V'), 17, ' ', 1, DIRECTORV) ; TRIMDIR/A17 = TRIM_(TRAILING, '.', DIRECTOR); TRIMDIRV/A17V = TRIM_(TRAILING, '.', DIRECTORV); END TABLE FILE MOVIES PRINT DIRECTOR TRIMDIR DIRECTORV TRIMDIRV ON TABLE SET PAGE NOPAGE END
A saída parcial mostra que o campo DIRETOR cortado ainda possui os pontos à direita, já que o ponto não é o último caractere do campo. No campo DIRECTORV cortado, os pontos à direita foram removidos:
DIRECTOR TRIMDIR DIRECTORV TRIMDIRV -------- ------- --------- -------- SPIELBERG S. SPIELBERG S. SPIELBERG S. SPIELBERG S KAZAN E. KAZAN E. KAZAN E. KAZAN E WELLES O. WELLES O. WELLES O. WELLES O LUMET S. LUMET S. LUMET S. LUMET S
Information Builders |