Hoe de compress-functie in sas te gebruiken (met voorbeelden)
U kunt de COMPRESS- functie in SAS gebruiken om specifieke tekens uit een tekenreeks te verwijderen.
Deze functie gebruikt de volgende basissyntaxis:
COMPRESS(String, te verwijderen tekens)
Goud:
- Tekenreeks : de tekenreeks die moet worden geparseerd
- tekens om te verwijderen : een of meer specifieke tekens die uit de tekenreeks moeten worden verwijderd
Dit zijn de vier meest voorkomende manieren om deze functie te gebruiken:
Methode 1: Verwijder alle spaties uit de string
data new_data;
set original_data;
compressed_string = compress (string_variable);
run ;
Methode 2: Verwijder specifieke tekens uit de tekenreeks
data new_data;
set original_data;
compressed_string = compress (string_variable, ' !?@# ');
run ;
Methode 3: Verwijder alle alfabetische tekens uit de string
data new_data;
set original_data;
compressed_string = compress (string_variable, '', ' a ');
run ;
Methode 4: Verwijder alle numerieke waarden uit de string
data new_data;
set original_data;
compressed_string = compress (string_variable, '', ' d ');
run ;
De volgende voorbeelden laten zien hoe u elke methode kunt gebruiken met de volgende gegevensset in SAS:
/*create dataset*/
data original_data;
input name $25.;
datalines ;
Andy Lincoln4 Bernard!
Barren Michael55 Smith!
Chad Simpson7 Arnolds?
Derrick Parson2 Henry
Eric Miller2 Johansen!
Frank Giovanni5 Goode
;
run ;
/*view dataset*/
proc print data = original_data;
Voorbeeld 1: Verwijder alle spaties uit de tekenreeks
De volgende code laat zien hoe u alle lege spaties uit elke tekenreeks in de naamkolom verwijdert:
/*remove blank spaces from each string in name column*/
data new_data;
set original_data;
compressed_name = compress (name);
run ;
/*view results*/
proc print data =new_data;
Houd er rekening mee dat alle lege spaties zijn verwijderd uit elke tekenreeks in de nieuwe kolom genaamd tablet_name .
Voorbeeld 2: Verwijder specifieke tekens uit de tekenreeks
De volgende code laat zien hoe u alle vraag- en uitroeptekens uit elke tekenreeks in de naamkolom verwijdert:
/*remove question marks and exclamation points from each string in name column*/
data new_data;
set original_data;
compressed_name = compress (name, ' ?! ');
run ;
/*view results*/
proc print data =new_data;
Houd er rekening mee dat alle vraag- en uitroeptekens zijn verwijderd uit elke tekenreeks in de nieuwe kolom genaamd tablet_name .
Voorbeeld 3: Verwijder alle alfabetische tekens uit de tekenreeks
De volgende code laat zien hoe u alle alfabetische tekens uit elke tekenreeks in de naamkolom verwijdert:
/*remove all alphabetical characters from each string in name column*/
data new_data;
set original_data;
compressed_name = compress (name, '', ' a ');
run ;
/*view results*/
proc print data = new_data;
Houd er rekening mee dat alle alfabetische tekens zijn verwijderd uit elke tekenreeks in de nieuwe kolom genaamd tablet_name .
Voorbeeld 4: Verwijder alle numerieke waarden uit de string
De volgende code laat zien hoe u alle numerieke waarden uit elke tekenreeks in de naamkolom verwijdert:
/*remove all numeric values from each string in name column*/
data new_data;
set original_data;
compressed_name = compress (name, '', ' d ');
run ;
/*view results*/
proc print data =new_data;
Houd er rekening mee dat alle numerieke waarden zijn verwijderd uit elke tekenreeks in de nieuwe kolom genaamd tabletnaam .
Aanvullende bronnen
In de volgende zelfstudies wordt uitgelegd hoe u andere veelvoorkomende taken in SAS kunt uitvoeren:
Hoe de SUBSTR-functie in SAS te gebruiken
Hoe de FIND-functie in SAS te gebruiken
Hoe de COALESCE-functie in SAS te gebruiken