Publié le :
Macro CREATION_INTERNE

Macro d'extraction de sous-chaîne de mots (AHGscanSubstr)

Ce code est également disponible en : Deutsch English Español
Cette macro extrait un nombre défini de mots (`num`) d'une chaîne source (`words`), en commençant à un index de mot donné (`from`). Elle permet de spécifier un délimiteur personnalisé (`dlm`) et inclut une option pour compresser le résultat final (suppression des blancs).
Analyse des données

Type : CREATION_INTERNE


La macro traite uniquement les arguments (chaînes de caractères) qui lui sont passés; elle ne dépend d'aucune table externe.

1 Bloc de code
MACRO
Explication :
Définition de la macro. Elle itère `num` fois pour extraire les mots successifs via `%scan` et les concatène dans la variable locale `outstr`, qui est ensuite renvoyée.
Copié !
1%macro AHGscanSubstr(words,from,num,dlm1st=0,dlm=%str( ),compress=0/*right*/);
2 %local i outstr;
3 %let outstr=;
4 %DO i=0 %to %eval(&num-1);
5 %IF &i gt &dlm1st %THEN %let outstr=&outstr&dlm;
6 %let outstr=&outstr%scan(&words,%eval(&i+&from),&dlm);
7 %END;
8 %IF &compress %THEN %let outstr=%sysfunc(compress(&outstr));
9 &outstr
10%mend;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.