TRIM_ : suppression d'un caractère à gauche, d'un caractère à droite, ou des deux dans une chaîne

Comment :

La fonction TRIM_ supprime toutes les occurrences d'un caractère simple, soit à partir du début, soit à partir de la fin de la chaîne, ou les deux.

Remarque :


Haut de page

x
Syntaxe : Supprimer un caractère à gauche, d'un caractère à droite, ou les deux dans une chaîne
TRIM_(where, pattern, string) 

où :

Mot-clé

Définit où effectuer la troncature de la chaîne source. Voici les valeurs valables :

  • LEADING, qui supprime les occurrences de début.
  • TRAILING, qui supprime les occurrences de fin.
  • BOTH, qui supprime les occurrences de début et de fin.
pattern

Alphanumérique

Est un caractère unique, entouré de guillemets simples ('), dont les occurrences doivent être retirées de string. Par exemple, le caractère peut être un espace vide (‘ ‘).

string

Alphanumérique

est la valeur de chaîne dont les caractères à droite et/ou à gauche vont être supprimés.

Le type de données de la chaîne renvoyée est AnV.



Exemple : Découper un caractère d'une chaîne

Dans la requête suivante, TRIM_ supprime les occurrences de début du caractère ‘B’ dans le champ 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 sortie est :

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


Exemple : Ajustement avec un caractère de droite

La requête suivante ajustant un point (.) à droite de la chaîne dans le nom DIRECTOR. Le champ DIRECTOR est au format A17 ; il y a donc des caractères de fin (à droite) dans la plupart des instances du champ. Pour créer un champ (DIRECTORV) sans caractère de droite, SQUEEZ convertit ceux-ci dans DIRECTOR en un espace vide unique, puis TRIMV supprime les espaces restants et le stocke au format A17V, de façon à ce que la longueur des caractères réels soit connue. Ensuite, TRIM_ est invoquée sur DIRECTOR et DIRECTORV, pour la création des champs TRIMDIR (DIRECTOR ajusté) et TRIMDIRV (DIRECTORV ajusté) :

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 sortie partielle montre que le champ DIRECTOR ajusté possède toujours des virgules à droite par ce que la virgule n'est pas le dernier caractère du champ. Dans le champ DIRECTORV, les virgules de droite ont été supprimées :

  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