Comment supprimer les caractères spéciaux des chaînes dans SAS



Le moyen le plus simple de supprimer les caractères spéciaux d’une chaîne dans SAS consiste à utiliser la fonction COMPRESS avec le modificateur ‘kas’.

Cette fonction utilise la syntaxe de base suivante :

data new_data;
    set original_data;
    remove_specials = compress(some_string, , 'kas');
run;

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

Exemple : supprimer les caractères spéciaux de la chaîne dans SAS

Supposons que nous ayons l’ensemble de données suivant dans SAS qui contient les noms de divers employés et leurs ventes totales :

/*create dataset*/
data data1;
    input name $ sales;
    datalines;
Bob&%^ 45
M&$#@ike 50
Randy)) 39
Chad!? 14
Dan** 29
R[on] 44
;
run;

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

Notez que les valeurs de la colonne nom contiennent plusieurs caractères spéciaux.

Nous pouvons utiliser la fonction COMPRESS pour supprimer ces caractères spéciaux :

/*create second dataset with special characters removed from names*/
data data2;
  set data1;
  new_name=compress(name, , 'kas');
run;

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

Notez que la colonne new_name contient les valeurs de la colonne name avec les caractères spéciaux supprimés.

Voici exactement ce que la fonction COMPRESS a fait pour supprimer ces caractères spéciaux :

  • k précise que l’on souhaite ‘conserver’ certains caractères
  • a spécifie de conserver les caractères alphabétiques
  • s spécifie de conserver les caractères d’espacement

Remarque : Vous pouvez trouver une liste complète des modificateurs pour la fonction COMPRESS sur cette page de documentation SAS .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans SAS :

Comment extraire des nombres d’une chaîne dans SAS
Comment utiliser la fonction SUBSTR dans SAS
Comment convertir des chaînes en majuscules, minuscules et casse appropriée dans SAS

Ajouter un commentaire

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