Hi,
I would like to subtra a string of characters ,as I have used find function to make position.
like substr(name,find(name,'in','i'),20), since i want to substr from right to left.(start from the position that find function have made),
i have no idea about how to do that with the nesting find).
thank you!
Have you tried the reverse function? It's easier if you set up a reversed value of your name variable. Like this:
data _null_;
name = "Valerie Adams";
reverse_name = reverse(name);
substring = substr(reverse_name, find(reverse_name, reverse("erie"), 'i'), 7);
put substring=;
run;
This looks for the substring eire (erie, reveresed) in the reversed string, then counts back 7 characters from that point - giving eirelaV. Then you can reverse that to give the answer you want.
Have you tried the reverse function? It's easier if you set up a reversed value of your name variable. Like this:
data _null_;
name = "Valerie Adams";
reverse_name = reverse(name);
substring = substr(reverse_name, find(reverse_name, reverse("erie"), 'i'), 7);
put substring=;
run;
This looks for the substring eire (erie, reveresed) in the reversed string, then counts back 7 characters from that point - giving eirelaV. Then you can reverse that to give the answer you want.
Good Idea! I have solved my problem.
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and save with the early bird rate—just $795!
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.