Comment utiliser la fonction SCAN dans SAS (avec exemples)
Vous pouvez utiliser la fonction SCAN dans SAS pour extraire le n ème mot d’une chaîne.
Cette fonction utilise la syntaxe de base suivante :
SCAN (chaîne, nombre)
où:
- string : La chaîne à analyser
- count : Le n ième mot à extraire
Voici les trois manières les plus courantes d’utiliser cette fonction :
Méthode 1 : extraire le n ème mot de la chaîne
data new_data;
set original_data;
second_word = scan(string_variable, 2);
run;
Méthode 2 : Extraire le dernier mot de la chaîne
data new_data;
set original_data;
last_word = scan(string_variable, -1);
run;
Méthode 3 : Extraire plusieurs mots d’une chaîne
data new_data;
set original_data;
first_word = scan(string_variable, 1);
second_word = scan(string_variable, 2);
third_word = scan(string_variable, 3);
run;
Les exemples suivants montrent comment utiliser chaque méthode avec l’ensemble de données suivant dans SAS :
/*create dataset*/
data original_data;
input name $20. sales;
datalines;
Andy Lincoln Bernard 55
Barren Michael Smith 41
Chad Simpson Arnolds 13
Derrick Parson Henry 29
Eric Miller Johansen 47
Frank Giovanni Goode 61
;
run;
/*view dataset*/
proc print data=original_data;
Exemple 1 : Extraire le n ème mot de la chaîne
Le code suivant montre comment extraire le deuxième mot de chaque chaîne de la colonne nom :
/*extract second word in each row of name column*/
data new_data;
set original_data;
second_word = scan(name, 2);
run;
/*view results*/
proc print data=new_data;
Notez que la nouvelle colonne appelée second_word contient le deuxième mot de chaque chaîne de la colonne nom .
Exemple 2 : Extraire le dernier mot de la chaîne
Le code suivant montre comment utiliser la valeur -1 dans la fonction scan pour extraire le dernier mot de chaque chaîne de la colonne nom :
/*extract last word in each row of name column*/
data new_data;
set original_data;
last_word = scan(name, -1);
run;
/*view results*/
proc print data=new_data;
Notez que la nouvelle colonne appelée last_word contient le dernier mot de chaque chaîne de la colonne name .
Exemple 3 : extraire plusieurs mots d’une chaîne
Le code suivant montre comment utiliser la fonction scan pour extraire chaque mot de chaque chaîne de la colonne name :
/*extract each word in each row of name column*/
data new_data;
set original_data;
first_word = scan(name, 1);
second_word = scan(name, 2);
third_word = scan(name, 3);
run;
/*view results*/
proc print data=new_data;
Notez que trois nouvelles colonnes ont été créées et contiennent le premier, le deuxième et le troisième mot de chaque chaîne de la colonne de nom .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans SAS :
Comment utiliser la fonction SUBSTR dans SAS
Comment utiliser la fonction FIND dans SAS
Comment utiliser la fonction COALESCE dans SAS