Hoe de prxchange-functie in sas te gebruiken (met voorbeelden)


U kunt de PRXCHANGE- functie in SAS gebruiken om een specifiek patroon in een tekenreeks te vervangen.

Deze functie gebruikt de volgende basissyntaxis:

PRXCHANGE(reguliere expressie, tijden, bron)

Goud:

  • reguliere expressie : reguliere expressie die het patroon specificeert waarnaar moet worden gezocht
  • times : het aantal keren dat moet worden vervangen om het patroon te vinden en te vervangen (gebruik -1 om door te gaan met het vervangen van het patroon totdat het einde van de bron is bereikt)
  • source : Naam van de variabele waarnaar moet worden gezocht

In de volgende voorbeelden ziet u twee veelvoorkomende manieren om deze functie in de praktijk te gebruiken met de volgende gegevensset in 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; 

Voorbeeld 1: Gebruik PRXCHANGE om het patroon in de string te vervangen door een nieuw patroon

De volgende code laat zien hoe u de PRXCHANGE- functie kunt gebruiken om een nieuwe kolom te maken met de naam new_phrase , die elk voorkomen van ‚cool‘ vervangt door ‚fun‘ in de zinskolom :

 /*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; 

Merk op dat elk exemplaar van “cool” is vervangen door “fun”.

Merk op dat we s in de reguliere expressie hebben gebruikt om aan te geven dat we een vervanging wilden uitvoeren en dat we i hebben gebruikt om aan te geven dat deze niet hoofdlettergevoelig mag zijn.

Voorbeeld 2: Gebruik PRXCHANGE om het patroon in de string te vervangen door lege ruimte

De volgende code laat zien hoe u de PRXCHANGE- functie gebruikt om een nieuwe kolom te maken met de naam new_phrase , die elk voorkomen van „cool“ vervangt door een spatie in de zinskolom :

 /*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; 

Merk op dat elke keer dat ‚cool‘ voorkomt, is vervangen door een spatie.

Aanvullende bronnen

In de volgende zelfstudies wordt uitgelegd hoe u andere veelvoorkomende taken in SAS kunt uitvoeren:

Hoe getallen uit een string in SAS te extraheren
Hoe komma’s uit een tekenreeks in SAS te verwijderen
Tekenreeksen splitsen op scheidingsteken in SAS

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert