compress函数在SAS处理字符串过程中用于保留或删除字符的一类函数。

 语法:compress([字符串][,字符][,修饰符]),其中修饰符不区分大小写。我们一般只用到了compress(string)、compress(string,'-:_')这两种用法,其实用compress函数去除特定的一些字符时,不需要把所有的字符都列到第二个参数里,而且某些字符是无法通过键盘输入的,可以用第三个参数指定。





举例(仅适用于中文版SAS):

data _null_;
s = "中国AAAbABBBc_134@#$,!.";
s1 = compress(s,,'d'); *去除数字;
s2 = compress(s,,'a'); *去除字母、中文;
s3 = compress(compress(s,,'n'),,'kl');*保留中文;
s4 = compress(s,,'p');*去除标点符号;

put s1= 
s2= 
s3= 
s4=;
run;


在log中得到如下结果:

s1=中国AAAbABBBc_@#$,!. 
s3=中国
s4=中国AAAbABBBc134