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

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *