Comment utiliser la fonction PRXCHANGE dans SAS (avec exemples)



Vous pouvez utiliser la fonction PRXCHANGE dans SAS pour remplacer un modèle spécifique dans une chaîne.

Cette fonction utilise la syntaxe de base suivante :

PRXCHANGE(expression régulière, heures, source)

où:

  • expression régulière : expression régulière qui spécifie le modèle à rechercher
  • times : Le nombre de fois à remplacer pour rechercher et remplacer le modèle (utilisez -1 pour continuer à remplacer le modèle jusqu’à ce que la fin de la source soit atteinte)
  • source : Nom de la variable à rechercher

Les exemples suivants montrent deux manières courantes d’utiliser cette fonction en pratique avec l’ensemble de données suivant dans SAS :

/*create dataset*/
data my_data;
    input phrase $char40.;
    datalines;
This is a cool name
That is a cool cool zebra
Oh hey there
Oh cool it's a cool-looking dog
Well now that is COOL
;
run;

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

Exemple 1 : utilisez PRXCHANGE pour remplacer le modèle dans la chaîne par un nouveau modèle

Le code suivant montre comment utiliser la fonction PRXCHANGE pour créer une nouvelle colonne appelée new_phrase qui remplace chaque occurrence de « cool » par « fun » dans la colonne de phrase :

/*create new dataset*/
data new_data;
    set my_data;
    new_phrase = prxchange('s/cool/fun/i', -1, phrase);
run;

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

Notez que chaque occurrence de « cool » a été remplacée par « fun ».

Notez que nous avons utilisé s dans l’expression régulière pour spécifier que nous voulions effectuer une substitution et nous avons utilisé i pour spécifier qu’elle ne doit pas être sensible à la casse.

Exemple 2 : utilisez PRXCHANGE pour remplacer le motif dans la chaîne par un espace vide

Le code suivant montre comment utiliser la fonction PRXCHANGE pour créer une nouvelle colonne appelée new_phrase qui remplace chaque occurrence de « cool » par un espace dans la colonne de phrase :

/*create new dataset*/
data new_data;
    set my_data;
    new_phrase = prxchange('s/cool//i', -1, phrase);
run;

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

Notez que chaque occurrence de « cool » a été remplacée par un espace.

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 supprimer les virgules d’une chaîne dans SAS
Comment diviser des chaînes par délimiteur dans SAS

Ajouter un commentaire

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