TRIM_: Cómo eliminar un carácter inicial, final, o ambos, de una cadena

Cómo:

La función TRIM_ elimina todas las repeticiones de un carácter individual del principio, final, o ambas partes de la cadena.

Nota:


Principio de página

x
Sintaxis: Cómo Eliminar un carácter inicial, final, o ambos, de una cadena
TRIM_(where, pattern, string) 

donde:

donde

Palabra clave

Define el lugar en que se va a recortar la cadena de origen. Los valores válidos son:

  • LEADING, elimina las repeticiones del principio.
  • TRAILING, elimina las repeticiones del final.
  • BOTH, elimina todas las repeticiones.
pattern

Alfanumérico

Es un carácter individual, entre comillas simples ('), cuyas repeticiones van a ser eliminadas de string. Por ejemplo, el carácter puede ser un solo espacio en blanco (‘ ‘).

string

Alfanumérico

Es la cadena que se va a recortar.

Los datos de la cadena devuelta son de tipo AnV.



Ejemplo: Cómo eliminar un carácter de una cadena

En la siguiente solicitud, TRIM elimina todas las repeticiones del carácter ‘B’ que aparezcan en el 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

La salida es:

  DIRECTOR           TRIMDIR                              
  --------           -------                                      
  ABRAHAMS J.        ABRAHAMS J.      
  BROOKS R.          ROOKS R.         
  BROOKS J.L.        ROOKS J.L.       


Ejemplo: Cómo recortar con espacios en blanco

La siguiente solicitud recorta el punto final (.) del nombre del director. El campo DIRECTOR está en formato A17, es decir que la mayoría de las copias del campo presentan espacios en blanco finales. Para crear un campo (DIRECTORV) sin espacios en blanco finales, SQUEEZ convierte los espacios finales de DIRECTOR en un solo espacio y, a continuación, TRIMV elimina los espacios finales restantes y lo almacena en formato A17V, para conocer la longitud real de los caracteres. Después, se llama a TRIM_ sobre la base de DIRECTOR y DIRECTORV, lo que resulta en la creación de los campos TRIMDIR (DIRECTOR recortado) y TRIMDIRV (DIRECTORV recortado):

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

La salida parcial muestra que el campo DIRECTOR recortado sigue teniendo puntos finales, debido a que el punto no es el último carácter del campo. Los puntos finales han sido eliminados del campo DIRECTORV recortado:

  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     

WebFOCUS