Comment utiliser la fonction SUBSTR dans SAS (avec exemples)
Vous pouvez utiliser la fonction SUBSTR dans SAS pour extraire une partie d’une chaîne.
Cette fonction utilise la syntaxe de base suivante :
SUBSTR(Source, Position, N)
où:
- Source : La chaîne à analyser
- Position : La position de départ à lire
- N : Le nombre de caractères à lire
Voici les quatre façons les plus courantes d’utiliser cette fonction :
Méthode 1 : extraire les N premiers caractères de la chaîne
data new_data;
set original_data;
first_four = substr(string_variable, 1, 4);
run;
Méthode 2 : extraire les caractères dans une plage de positions spécifique à partir d’une chaîne
data new_data;
set original_data;
two_through_five = substr(string_variable, 2, 4);
run;
Méthode 3 : Extraire les N derniers caractères de la chaîne
data new_data;
set original_data;
last_three = substr(string_variable, length(string_variable)-2, 3);
run;
Méthode 4 : créer une nouvelle variable si des caractères existent dans la chaîne
data new_data;
set original_data;
if substr(string_variable, 1, 4) = 'some_string' then new_var = 'Yes';
else new_var = 'No';
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 team $1-10;
datalines;
Warriors
Wizards
Rockets
Celtics
Thunder
;
run;
/*view dataset*/
proc print data=original_data;
Exemple 1 : extraire les N premiers caractères d’une chaîne
Le code suivant montre comment extraire les 4 premiers caractères de la variable team :
/*create new dataset*/
data new_data;
set original_data;
first_four = substr(team, 1, 4);
run;
/*view new dataset*/
proc print data=new_data;
Notez que la variable first_four contient les quatre premiers caractères de la variable team .
Exemple 2 : extraire des caractères dans une plage de positions spécifique à partir d’une chaîne
Le code suivant montre comment extraire les caractères des positions 2 à 5 de la variable team :
/*create new dataset*/
data new_data;
set original_data;
two_through_five = substr(team, 2, 4);
run;
/*view new dataset*/
proc print data=new_data;
Exemple 3 : extraire les N derniers caractères d’une chaîne
Le code suivant montre comment extraire les 3 derniers caractères de la variable team :
/*create new dataset*/
data new_data;
set original_data;
last_three = substr(team, length(team)-2, 3);
run;
/*view new dataset*/
proc print data=new_data;
Exemple 4 : Créer une nouvelle variable si des caractères existent dans la chaîne
Le code suivant montre comment créer une nouvelle variable appelée W_Team qui prend la valeur « yes » si le premier caractère du nom de l’équipe est « W » ou la valeur « no » si les premiers caractères ne sont pas un « W ».
/*create new dataset*/
data new_data;
set original_data;
if substr(team, 1, 1) = 'W' then W_Team = 'Yes';
else W_Team = 'No';
run;
/*view new dataset*/
proc print data=new_data;
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans SAS :
Comment normaliser les données dans SAS
Comment remplacer des caractères dans une chaîne dans SAS
Comment remplacer les valeurs manquantes par zéro dans SAS
Comment supprimer les doublons dans SAS