SAS : Comment extraire une sous-chaîne de droite
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
La valeur de l’argument Position spécifie la position de départ à gauche de la chaîne .
Pour spécifier à la place une position de départ à droite de la chaîne , vous pouvez utiliser la syntaxe suivante :
data new_data;
set original_data;
last_three = substr(team, length(team)-2, 3);
run;
Cet exemple particulier crée une nouvelle variable appelée last_trois qui extrait les trois derniers caractères à droite de la variable chaîne appelée team .
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : extraire la sous-chaîne de Right dans SAS
Supposons que nous disposions de l’ensemble de données suivant dans SAS qui contient des informations sur diverses équipes de basket-ball :
/*create dataset*/
data original_data;
input team $ points;
datalines;
Mavericks 104
Thunder 99
Rockets 116
Spurs 98
Pistons 99
Pelicans 105
Warriors 119
Blazers 113
Nuggets 100
Kings 123
;
run;
/*view dataset*/
proc print data=original_data;
Nous pouvons utiliser le code suivant pour 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;
Notez que la colonne appelée last_trois contient les trois derniers caractères de la colonne équipe .
Nous pouvons également facilement modifier les valeurs de la fonction SUBSTR pour extraire un nombre différent de caractères du côté droit de la chaîne.
Par exemple, nous pouvons utiliser la syntaxe suivante pour extraire les cinq derniers caractères en partant de la droite :
/*create new dataset*/
data new_data;
set original_data;
last_five = substr(team, length(team)-4, 5);
run;
/*view new dataset*/
proc print data=new_data;
Notez que la colonne appelée last_five contient les cinq derniers caractères de la colonne équipe .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans SAS :
SAS : Comment remplacer des caractères dans une chaîne
SAS : Comment supprimer les virgules d’une chaîne
SAS : Comment extraire des nombres d’une chaîne