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
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 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.
Ready to level-up your skills? Choose your own adventure.