SAS - Ciągi
Łańcuchy w sygnaturze dostępu Współdzielonego to wartości ujęte w parę pojedynczych cudzysłowów. Również zmienne łańcuchowe są deklarowane poprzez dodanie spacji i znaku $ na końcu deklaracji zmiennej. SAS ma wiele zaawansowanych funkcji do analizowania i manipulowania łańcuchami.
Deklarowanie zmiennych łańcuchowych
Możemy zadeklarować zmienne łańcuchowe i ich wartości, jak pokazano poniżej. W poniższym kodzie deklarujemy dwie zmienne znakowe o długości 6 i 5. Słowo kluczowe LENGTH służy do deklarowania zmiennych bez tworzenia wielu obserwacji.
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;
Po uruchomieniu powyższego kodu otrzymujemy wyjście, które pokazuje nazwy zmiennych i ich wartości.
Funkcje łańcuchowe
Poniżej znajdują się przykłady niektórych funkcji SAS, które są często używane.
SUBSTRN
Ta funkcja wyodrębnia podciąg na podstawie pozycji początkowej i końcowej. W przypadku braku pozycji końcowej wyodrębnia wszystkie znaki do końca łańcucha.
Składnia
SUBSTRN('stringval',p1,p2)
Poniżej znajduje się opis użytych parametrów -
- stringval jest wartością zmiennej łańcuchowej.
- p1 to pozycja początkowa ekstrakcji.
- p2 to końcowa pozycja ekstrakcji.
Przykład
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;
Po uruchomieniu powyższego kodu otrzymujemy wyjście, które pokazuje wynik działania funkcji substrn.
TRIMN
Ta funkcja usuwa końcową spację z ciągu.
Składnia
TRIMN('stringval')
Poniżej znajduje się opis użytych parametrów -
- stringval jest wartością zmiennej łańcuchowej.
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;
Po uruchomieniu powyższego kodu otrzymujemy wyjście, które pokazuje wynik funkcji TRIMN.