Come utilizzare la funzione prxchange in sas (con esempi)
È possibile utilizzare la funzione PRXCHANGE in SAS per sostituire un modello specifico in una stringa.
Questa funzione utilizza la seguente sintassi di base:
PRXCHANGE(espressione regolare, orari, sorgente)
Oro:
- espressione regolare : espressione regolare che specifica il modello da cercare
- times : il numero di volte da sostituire per trovare e sostituire il pattern (usa -1 per continuare a sostituire il pattern fino al raggiungimento della fine della sorgente )
- source : nome della variabile da cercare
I seguenti esempi mostrano due modi comuni per utilizzare questa funzione nella pratica con il seguente set di dati 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;
Esempio 1: utilizzare PRXCHANGE per sostituire il modello nella stringa con un nuovo modello
Il codice seguente mostra come utilizzare la funzione PRXCHANGE per creare una nuova colonna denominata new_phrase che sostituisce ogni occorrenza di “cool” con “fun” nella colonna della frase :
/*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;
Tieni presente che ogni istanza di “cool” è stata sostituita con “divertente”.
Nota che abbiamo usato s nell’espressione regolare per specificare che volevamo eseguire una sostituzione e abbiamo usato i per specificare che non dovrebbe fare distinzione tra maiuscole e minuscole.
Esempio 2: utilizzare PRXCHANGE per sostituire il modello nella stringa con uno spazio vuoto
Il codice seguente mostra come utilizzare la funzione PRXCHANGE per creare una nuova colonna denominata new_phrase che sostituisce ogni occorrenza di “cool” con uno spazio nella colonna della frase :
/*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;
Tieni presente che ogni occorrenza di “cool” è stata sostituita con uno spazio.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in SAS:
Come estrarre numeri da una stringa in SAS
Come rimuovere le virgole da una stringa in SAS
Come dividere le stringhe per delimitatore in SAS