Hi,
In the compress, 'L' modifer adds lowercase letters to the list of characters to be kept or removed, but in the code below the output removes all characters ABCD?
data test;
x='123-4567-8901 B 234-5678-9012 c';
y=compress(x, 'ABCD', 'L');
proc print;
run;
Any suggestion?
SK
That's because you've asked COMPRESS to remove the letters 'ABCD' (the second argument) AND the third argument ('L') instructs SAS to remove all lowercase letters.
So . . . all of the letters A, B, C, and D are removed as you requested. And, all lowercase letters are removed as you requested.
The result is the series of numbers, with the sample string you used.
That's because you've asked COMPRESS to remove the letters 'ABCD' (the second argument) AND the third argument ('L') instructs SAS to remove all lowercase letters.
So . . . all of the letters A, B, C, and D are removed as you requested. And, all lowercase letters are removed as you requested.
The result is the series of numbers, with the sample string you used.
As per the code, in the compress function used compress(x, 'ABCD', 'L'), we are suggesting compress to remove "ABCD" and any lower case letters, so even though the ABCD are all in caps, since we have mentioned them in compress function they are getting removed,
in case you wish to remove only the lower case letters then try
compress(x,, 'L'), this will remove only the lower case letters
the output will be
123-4567-8901 B 234-5678-9012
/*code*/
data test;
x='123-4567-8901 B 234-5678-9012 c';
y=compress(x,,'L');
proc print;
run;
Thanks,
Jagadish
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 the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.