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
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.