How do remove the last 5 characters from a char string regardless of length?
Thanks
data _null_;
string="abcdefghijklx";
newstring=substr(string, 1, length(string)-5);
put newstring;
run;
SUBSTR() + REVERSE()
SUBSTR() + LENGTH()
@dber wrote:
How do remove the last 5 characters from a char string regardless of length?
Thanks
data _null_;
string="abcdefghijklx";
newstring=substr(string, 1, length(string)-5);
put newstring;
run;
Just a note that you may want lengthn() to avoid extra spaces at the end.
Right you are 🙂
@PeterClemmensen wrote:
data _null_; string="abcdefghijklx"; newstring=substr(string, 1, length(string)-5); put newstring; run;
You may want to check that the length of the string is actual greater than or at least 5 to prevent error messages.
Just in case there are shorter than expected string values.
if length(string) ge 5 then newstring=substr(string, 1, length(string)-5);
or use substrn :
data _null_;
string="abcd";
newstring=substrn(string, 1, length(string)-5);
put newstring=;
run;
If the objective is just to remove and not create a new variable, you can use just this
data want;
string="abcdefghijklx";
substr(string, length(string)-5)=' ';
run;
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
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.