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;
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.