good day,
i am using function index for searching the keyword from my data but some error happen and here is the example
NAME
Liverpool
Liverpoollowolo
club Liverpool
data want;
data have;
if index(NAME,"Liverpool") then output;
run;
The final data will contain these three names but the second (Liverpoollowolo) is not the result i want. how can i fix this?
can i add space to the keyword like below?
if index(NAME," Liverpool ") then output;
but i am afraid that the first one will fail cause there is no space before the name Liverpool
what i am looking for is a separate "Liverpool" in my new data set
Regards,
Harry
Use the INDEXW function if searching for words:
data want;
input name $50.;
if indexw(name,"Liverpool") then output;
datalines;
Liverpool
Liverpoollowolo
club Liverpool
;
Use the INDEXW function if searching for words:
data want;
input name $50.;
if indexw(name,"Liverpool") then output;
datalines;
Liverpool
Liverpoollowolo
club Liverpool
;
hi
you can use indexw(), findw()
it would be better to use upcase or lowcase for case-insensitive
if indexw(upcase(NAME),"LIVERPOOL") then output;
if findw(lowcase(NAME),"liverpool") then output;
if findw(NAME,"liverpool"," ",'i') then output;
have a good day
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.