Sas: come rimuovere le virgole da una stringa
Il modo più semplice per rimuovere le virgole da una stringa in SAS è utilizzare la funzione TRANSLATE , che converte ogni occorrenza di un carattere in un altro carattere.
Per fare ciò, è possibile utilizzare la seguente sintassi di base:
data new_data;
set original_data;
string_var = compress ( translate (string_var,"",','));
run ;
Questo particolare esempio rimuove ogni virgola da ogni stringa dalla variabile string_var in un set di dati.
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Esempio: rimuovere le virgole da una stringa in SAS
Supponiamo di avere il seguente set di dati in SAS che contiene informazioni su varie squadre di basket:
/*create dataset*/
data my_data;
input team $points;
datalines ;
,Mavs, 113
Pacers 95
,Ca,vs 120
Lakers 114
Heat 123
King,s 119
Raptors 105
,Hawks 95
Ma,gic 103
Spu,,rs 119
;
run ;
/*view dataset*/
proc print data =my_data;
Tieni presente che diverse stringhe nella colonna del team contengono virgole in punti diversi.
Possiamo utilizzare la seguente sintassi per rimuovere tutte le virgole dalle stringhe nella colonna del team :
/*create new dataset where commas are removed from each string in team column*/
data new_data;
set my_data;
team = compress ( translate (team,"",','));
run ;
/*view new dataset*/
proc print data =new_data;
Tieni presente che le virgole sono state rimosse da ogni stringa nella colonna della squadra .
Ecco cosa ha effettivamente fatto questo codice:
- La funzione TRANSLATE ha sostituito ciascuna virgola con uno spazio vuoto.
- Quindi la funzione COMPRESS ha rimosso lo spazio bianco da ciascuna stringa.
Nota : è possibile trovare la documentazione completa per la funzione SAS TRANSLATE qui .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in SAS:
Come estrarre numeri da una stringa in SAS
Come utilizzare la funzione SUBSTR in SAS
Come rimuovere caratteri speciali dalle stringhe in SAS