Comment utiliser la fonction INDEXW dans SAS



Vous pouvez utiliser la fonction INDEXW dans SAS pour renvoyer la position du premier caractère d’un mot qui apparaît dans une chaîne.

Cette fonction utilise la syntaxe de base suivante :

INDEXW(source, extrait)

où:

  • source : La chaîne à analyser
  • extrait : Le mot à rechercher dans la source

L’exemple suivant montre comment utiliser cette fonction dans la pratique.

Exemple : utilisation de la fonction INDEXW dans SAS

Supposons que nous ayons l’ensemble de données suivant dans SAS qui contient une colonne d’expressions :

/*create dataset*/
data original_data;
    input phrase $40.;
    datalines;
A pig is my favorite animal
My name is piglet
Pigs are so cute
Here is a baby pig
His name is piggie
;
run;

/*view dataset*/
proc print data=original_data;

Nous pouvons utiliser la fonction INDEXW pour rechercher la position de la première occurrence du mot « cochon » dans la colonne de phrases :

/*find position of first occurrence of 'pig' in phrase column*/
data new_data;
    set original_data;
    indexw_pig = indexw(phrase, 'pig');
run;

/*view results*/
proc print data=new_data;

La nouvelle colonne appelée indexw_pig affiche la position de la première occurrence du mot « cochon » dans la colonne d’expression .

Si le mot « cochon » n’apparaît jamais dans la colonne d’expression , la fonction INDEXW renvoie simplement une valeur de 0 .

Par exemple, à partir du résultat, nous pouvons voir :

La position de la première occurrence du mot « cochon » dans la première phrase est 3 .

La deuxième ligne ne contient pas le mot « cochon » seul dans la phrase, donc une valeur de 0 est renvoyée.

Et ainsi de suite.

La différence entre les fonctions INDEX et INDEXW

La fonction INDEX dans SAS renvoie la position de la première occurrence d’une sous-chaîne particulière dans une autre chaîne.

En revanche, la fonction INDEXW renvoie la position de la première occurrence d’un mot particulier dans une autre chaîne.

Par définition, un mot doit avoir un espace avant et après.

L’exemple suivant illustre la différence entre les fonctions INDEX et INDEXW :

/*create new dataset*/
data new_data;
    set original_data;
    index_pig = index(phrase, 'pig');
    indexw_pig = indexw(phrase, 'pig');
run;

/*view new dataset*/
proc print data=new_data;

La colonne index_pig affiche la position de la première occurrence de la sous-chaîne « pig » dans la colonne phrase .

La colonne indexw_pig affiche la position de la première occurrence du mot « cochon » dans la colonne d’expression .

Ressources additionnelles

Les didacticiels suivants expliquent comment utiliser d’autres fonctions courantes dans SAS :

Comment utiliser la fonction SUBSTR dans SAS
Comment utiliser la fonction COMPRESS dans SAS
Comment utiliser la fonction FIND dans SAS
Comment utiliser la fonction COALESCE dans SAS

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *