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