Hi,
I have a field with a string of numbers separated by semicolons. I want to check if any of the numbers between the semicolons in this field is a match to what I am looking for. I know I can use "index" or "find," but it may give a false positive if it is a small number within a larger number. For example, if I have a field that contains 123;654;89 and I want to know if it contains '54', I do not want a false positive since 54 is in 654. How can I do this?
Example of what I have:
Obs StrgOfNum
1 934;54;1234
2 123;6542;89
What I want is to know if the number 54 is in any of the observations:
Obs
1 <---Should return a positive output indicated it is in this observations
2 <---Should return a negative output indicating it is not in this observations
data have;
string = '934;54;1234';
found = findw(string, '54');
output;
put _all_;
string = '123;6542;89';
found = findw(string, '54');
output;
put _all_;
run;
data have;
string = '934;54;1234';
found = findw(string, '54');
output;
put _all_;
string = '123;6542;89';
found = findw(string, '54');
output;
put _all_;
run;
Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.
Register today!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.
Select SAS Training centers are offering in-person courses. View upcoming courses for: