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.
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.