La concaténation ou comment mettre des morceaux de textes bout à bout

La concaténation ou comment mettre des morceaux de textes bout à bout

By : -

La concaténation ou comment mettre des morceaux de textes bout à bout

Mettre des morceaux de textes à la suite les uns des autres et enregistrer le tout dans une variable, c’est ce qu’on appelle la concaténation. D’un côté, il y a la double barre verticale ou le double point d’exclamation. De l’autre côté, il y a les fonctions « cat ». Voici un rapide tour d’horizon de ces notations.

Quelque soit la méthode utilisée, la concaténation requiert soit des variables caractères soit un texte entre guillemet. Il faudra donc convertir les valeurs numériques avec une fonction put par exemple pour pouvoir faire le collage.

Pour illustrer ce sujet, on utilisera une variable x et une variable z sans blanc aux extrémités et une variable y avec des blancs avant et après.

x = ' Pays';
y = '  UK  ';
z = '2008 ';

A chaque fois, plusieurs notations sont proposées. Toutes donnent le même résultat.

1. La traditionnelle double barre

La double barre || est équivalent aux deux points d’exclamations !!.

a1 = x ||  y || z ;
a1 = ' Pays' || '  UK  ' || '2008';
a1 = ' Pays' || y || z;
a1 = ' Pays UK 2008';

Cette syntaxe sert aussi avec l’instruction call execute.

2. Les fonctions cats, catx, cat et catt

Parmi ces quatre fonctions, j’utilise le plus souvent cats et catx.

  • cats enlève les blancs de début et de fin des chaînes de caractères à coller.
  • catx aussi enlève les blancs aux extrémités et précise quel(s) caractère(s) servira de séparateur entre les chaînes de caractères.

Garder tous les blancs : la fonction cat n’enlève pas les blancs au début et fin de texte de chacun des éléments. Cela donne le même résultat qu’avec le système des doubles barres.

a2 = cat(x,y,z) ;
a2 = cat('Pays','  UK  ','2008');
a2 = cat('Pays',y,z);
a2 = 'Pays  UK  2008’;
a2 = ' Pays' || '  UK  ' || '2008 ';

Sans blanc aux extrémités : la fonction cats contient autant de paramètres que de chaînes de caractères à coller. Cette chaîne de caractère est soit disponible sous forme de variable soit sous forme d’un texte entre guillemets. C’est un mélange de la fonction cat et la fonction strip.

a3 = cats(x,y,z) ;
a3 = cats(' Pays','  UK  ','2008 ');
a3 = cats(' Pays',y,z);
a3 = 'PaysUK2008';
a3 = strip(' Pays') || strip('  UK  ') || strip('2008 ');

Ajouter un séparateur : en plus d’enlever les blancs aux extrémités de chaque chaîne de caractères, la fonction catx ajoute un séparateur entre deux, défini dans le premier paramètre de la fonction.

a4 = catx('-',x,y,z) ;
a4 = catx('-','Pays','  UK  ','2008');
a4 = catx('-','Pays',y,z);
a4 = 'Pays-UK-2008′;
a4 = strip(' Pays') || '-' ||  strip('  UK  ') || '-' || strip('2008 ');

Enlever les blancs de fin uniquement : la fonction catt enlève les blancs en fin de chaîne. C’est un mélange de la fonction CAT et de la fonction TRIM qui enlève les blancs de fin.

a5 = catt(x,y,z) ;
a5 = catt('Pays','  UK  ','2008');
a5 = catt('Pays',y,z);
a5 = 'Pays  UK2008';
a5 = trim(' Pays') || trim('  UK  ') || trim('2008 ');

N’oubliez pas de définir la longueur de vos nouvelles variables caractères pour éviter d’avoir des valeurs tronquées par inadvertance.

One Comment

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.

un − 1 =