Sas: hoe een juiste subtekenreeks te extraheren
U kunt de functie SUBSTR in SAS gebruiken om een deel van een tekenreeks te extraheren.
Deze functie gebruikt de volgende basissyntaxis:
SUBSTR(Bron, Positie, N)
Goud:
- Bron : het kanaal dat moet worden geanalyseerd
- Positie : de startpositie om te lezen
- N : Het aantal tekens dat moet worden gelezen
De waarde van het Position- argument specificeert de startpositie links van de string .
Om in plaats daarvan een startpositie rechts van de string op te geven, kunt u de volgende syntaxis gebruiken:
data new_data;
set original_data;
last_three = substr (team , length (team) -2,3 );
run ;
In dit specifieke voorbeeld wordt een nieuwe variabele gemaakt met de naam last_three , die de laatste drie tekens rechts van de tekenreeksvariabele met de naam team extraheert.
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Voorbeeld: Extraheer de subtekenreeks uit Right in SAS
Stel dat we de volgende dataset in SAS hebben die informatie bevat over verschillende basketbalteams:
/*create dataset*/
data original_data;
input team $points;
datalines ;
Mavericks 104
Thunder 99
Rockets 116
Spurs 98
Pistons 99
Pelicans 105
Warriors 119
Blazers 113
Nuggets 100
Kings 123
;
run ;
/*view dataset*/
proc print data = original_data;
We kunnen de volgende code gebruiken om de laatste 3 tekens uit de teamvariabele te extraheren:
/*create new dataset*/
data new_data;
set original_data;
last_three = substr (team , length (team) -2,3 );
run ;
/*view new dataset*/
proc print data = new_data;
Merk op dat de kolom last_three de laatste drie tekens van de teamkolom bevat.
We kunnen ook eenvoudig de waarden van de SUBSTR- functie wijzigen om een ander aantal tekens aan de rechterkant van de string te extraheren.
We kunnen bijvoorbeeld de volgende syntaxis gebruiken om de laatste vijf tekens van rechts te extraheren:
/*create new dataset*/
data new_data;
set original_data;
last_five = substr (team , length (team) -4,5 );
run ;
/*view new dataset*/
proc print data = new_data;
Houd er rekening mee dat de kolom last_five de laatste vijf tekens van de teamkolom bevat.
Aanvullende bronnen
In de volgende zelfstudies wordt uitgelegd hoe u andere veelvoorkomende taken in SAS kunt uitvoeren:
SAS: tekens in een string vervangen
SAS: Hoe komma’s uit een tekenreeks te verwijderen
SAS: Hoe getallen uit een string te extraheren