Hello everyone,
I have a string variable called part4 that looks something like:
I am trying to extract the first 24 characters starting from right hand side moving toward the left, how can I accomplish that?
Thanks
or
extract= substr(x, length(x)-24+1);
I did 24 + 1 incase you need to change the 24 based on a variable value.
If you have 10 characters and want 4, 10-4=6, but character positions 6,7,8,9 and 10 = 5 characters, so add 1.
This will not work if you ask for more characters than exist though.
I think this will always work:
extract= right(subpad(x, max(1, length(x)-24+1), 24));
Try this....
data want;
set have;
Latest24months = ifc(length(text)>24,substrn(text,length(text)-23), text);
LATETS24MONTHS_2= ifc(length(text)<=24,TEXT, substrn(text,length(text)-23));
IF LATEST24MONTHS = LATEST24MONTHS_2 THEN TAG=1;
run;
Choose between latest24months or latest24months_2. Tag is used to check if both will provide the same result.
Hope this helps.
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 lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.