Hoe de find-functie in sas te gebruiken (met voorbeelden)
U kunt de functie FIND in SAS gebruiken om de positie te vinden van de eerste keer dat een subtekenreeks in een tekenreeks voorkomt.
Dit zijn de twee meest voorkomende manieren om deze functie te gebruiken:
Methode 1: Vind de positie van de eerste keer dat een string voorkomt
data new_data;
set original_data;
first_occurrence = find (variable_name, " string ");
run;
Methode 2: Vind de positie van de eerste keer dat een string voorkomt (hoofdlettergebruik wordt genegeerd)
data new_data;
set original_data;
first_occurrence = find (variable_name, " string ", " i ");
run ;
Het argument ‚i‘ vertelt SAS dat het hoofdlettergebruik moet worden genegeerd bij het zoeken naar de subtekenreeks.
De volgende voorbeelden laten zien hoe u elke methode kunt gebruiken met de volgende gegevensset in SAS:
/*create dataset*/
data original_data;
input sentence $1-25;
datalines ;
The fox ran fast
That is a quick FOX
This fox is a slow fox
The zebra is cool
;
run ;
/*view dataset*/
proc print data = original_data;
Voorbeeld 1: Zoek de positie van de eerste keer dat een string voorkomt
De volgende code laat zien hoe u de positie van het eerste exemplaar van „fox“ in elke tekenreeks kunt vinden:
data new_data;
set original_data;
first_fox = find (phrase, " fox ");
run ;
Zo interpreteert u het resultaat:
- De vos rende snel (eerste voorkomen is in positie 5 )
- Het is een snelle FOX (de kleine letter „fox“ verschijnt nooit)
- Deze vos is een langzame vos (de eerste keer dat hij voorkomt is positie 6 )
- Zebra is cool (de “vos”-reeks verschijnt nooit)
Voorbeeld 2: Vind de positie van de eerste keer dat een string voorkomt (hoofdlettergebruik wordt genegeerd)
De volgende code laat zien hoe u de positie kunt vinden van het eerste hoofdletterongevoelige exemplaar van „fox“ in elke tekenreeks:
data new_data;
set original_data;
first_fox = find (phrase, " fox ", " i ");
run ;
Zo interpreteert u het resultaat:
- De vos rende snel (eerste voorkomen is in positie 5 )
- Het is een snelle F OX (de eerste keer dat „fox“ voorkomt, staat op positie 17 )
- Deze vos is een langzame vos (de eerste keer dat hij voorkomt is positie 6 )
- Zebra is cool (de “vos”-reeks verschijnt nooit)
Aanvullende bronnen
In de volgende zelfstudies wordt uitgelegd hoe u andere veelvoorkomende taken in SAS kunt uitvoeren:
Gegevens normaliseren in SAS
Hoe tekens in een string in SAS te vervangen
Hoe ontbrekende waarden te vervangen door nul in SAS
Hoe duplicaten in SAS te verwijderen