Elle permet de créer une nouvelle chaîne à partir de plusieurs champs.
STRING , UNSTRING , INSPECT
COBOL propose trois instructions puissantes pour manipuler des chaînes alphanumériques :
STRING : concaténer plusieurs chaînes UNSTRING : découper une chaîne en sous-parties INSPECT : analyser, compter ou remplacer des caractères STRING – Concaténation de chaînesElle permet de créer une nouvelle chaîne à partir de plusieurs champs.
01 NOM PIC X(20) VALUE "DURAND".
01 PRENOM PIC X(20) VALUE "ALAIN".
01 IDENTITE-COMPL. PIC X(40).
STRING PRENOM DELIMITED BY SPACE
NOM DELIMITED BY SPACE
INTO IDENTITE-COMPL.
Résultat : "ALAINDURAND" dans IDENTITE-COMPL. (pas d’espace automatique).
STRING PRENOM DELIMITED BY SPACE
" " DELIMITED BY SIZE
NOM DELIMITED BY SPACE
INTO IDENTITE-COMPL.
Cette fois, IDENTITE-COMPL. contient ALAIN DURAND.
UNSTRING – Séparation de chaîneDécoupe une chaîne en plusieurs parties selon un séparateur (ex. : virgule, point, espace).
01 ADRESSE PIC X(50) VALUE "123,RUE DE PARIS,75015".
01 NUMERO PIC X(10).
01 RUE PIC X(20).
01 CODEPOSTAL PIC X(10).
UNSTRING ADRESSE DELIMITED BY "," INTO
NUMERO RUE CODEPOSTAL.
Résultat :
NUMERO = "123" RUE = "RUE DE PARIS" CODEPOSTAL = "75015" INSPECT – Analyse ou transformation
INSPECT peut :
INSPECT CHAINE TALLYING NB-ESPACE FOR ALL " ".
Cela compte le nombre d’espaces dans la variable CHAINE .
INSPECT NOM REPLACING ALL "A" BY "@".
Cela remplace tous les "A" par des "@" dans NOM .
Ces instructions permettent de manipuler dynamiquement les chaînes en COBOL :
STRING : concaténer plusieurs champs UNSTRING : découper un champ selon un séparateur INSPECT : compter ou remplacer des caractères