26%macro mf_trimstr(basestr,trimstr);
27%local baselen trimlen trimval;
30%let baselen=%length(%superq(basestr));
31%let trimlen=%length(%superq(trimstr));
32%
if &baselen < &trimlen or &baselen=0 %then %
return;
35%let trimval=%qsubstr(%superq(basestr)
36 ,%length(%superq(basestr))-&trimlen+1
40%
if %superq(basestr)=%superq(trimstr) %then %
do;
43%
else %
if %superq(trimval)=%superq(trimstr) %then %
do;
44 %qsubstr(%superq(basestr),1,%length(%superq(basestr))-&trimlen)