SAS - Stringhe
Le stringhe in SAS sono i valori racchiusi tra una coppia di virgolette singole. Anche le variabili stringa vengono dichiarate aggiungendo uno spazio e un segno $ alla fine della dichiarazione della variabile. SAS ha molte potenti funzioni per analizzare e manipolare le stringhe.
Dichiarazione di variabili stringa
Possiamo dichiarare le variabili stringa e i loro valori come mostrato di seguito. Nel codice seguente si dichiarano due variabili carattere di lunghezza 6 e 5. La parola chiave LENGTH viene utilizzata per dichiarare le variabili senza creare più osservazioni.
data string_examples;
LENGTH string1 $ 6 String2 $ 5;
/*String variables of length 6 and 5 */
String1 = 'Hello';
String2 = 'World';
Joined_strings = String1 ||String2 ;
run;
proc print data = string_examples noobs;
run;
Eseguendo il codice precedente otteniamo l'output che mostra i nomi delle variabili ei loro valori.
Funzioni stringa
Di seguito sono riportati gli esempi di alcune funzioni SAS che vengono utilizzate di frequente.
SUBSTRN
Questa funzione estrae una sottostringa utilizzando le posizioni iniziale e finale. In caso di mancata menzione della posizione finale, estrae tutti i caratteri fino alla fine della stringa.
Sintassi
SUBSTRN('stringval',p1,p2)
Di seguito la descrizione dei parametri utilizzati:
- stringval è il valore della variabile stringa.
- p1 è la posizione iniziale dell'estrazione.
- p2 è la posizione finale di estrazione.
Esempio
data string_examples;
LENGTH string1 $ 6 ;
String1 = 'Hello';
sub_string1 = substrn(String1,2,4) ;
/*Extract from position 2 to 4 */
sub_string2 = substrn(String1,3) ;
/*Extract from position 3 onwards */
run;
proc print data = string_examples noobs;
run;
Eseguendo il codice precedente otteniamo l'output che mostra il risultato della funzione substrn.
TRIMN
Questa funzione rimuove lo spazio finale da una stringa.
Sintassi
TRIMN('stringval')
Di seguito la descrizione dei parametri utilizzati:
- stringval è il valore della variabile stringa.
data string_examples;
LENGTH string1 $ 7 ;
String1='Hello ';
length_string1 = lengthc(String1);
length_trimmed_string = lengthc(TRIMN(String1));
run;
proc print data = string_examples noobs;
run;
Eseguendo il codice precedente otteniamo l'output che mostra il risultato della funzione TRIMN.