SAS 中使用 Compress 函数删除或保留字符串中特定字符作者:bao_dan_dan
(2014-05-11 15:57:00)
1. compress() 函数的基本形式
Syntax
compress (<, chars><, modifiers>)
Arguments
source:
chars:
modifiers:
2. compress() 函数应用举例
已有数据集 have:
data have;
input char $200.;
cards;
Elek dot Me Yuewei-Liu HOME-027-8765 4321
run;
例1. 删除空格:
data test;
set have;
char1=compress(char);
run;
等同:
data test;
set have;
char1=compress(char," ");
run;
例2. 使用修饰符删除小写字母:
目标:将所有小写字母和大写的”E”从指定的字符串中删除。
data test;
set have;
char1=compress(char,"E","l")
run;
等同:
data test;
set have;
char1=compress(char,"abcdefghijklmnopqrstuvwxyzE");
run;
例3. 保留指定的字符:
data test;
set have;
char1=compress(char,"HOME","dk");
run;
同:
data test;
set have;
char1=compress(char,"HOME1234567890","k");
run;
结果是:MEHOME1234567890
附:常用的修饰符及其意义
a/A 所有拉丁字母,包括 a-z A-Z d/D 所有数字 f/F 下划线和所有拉丁字母 i/G 忽略要删除或保留字符的大小写 k/K 保留字符串列表中的字符 l/L 所有小写拉丁字母 n/N 下划线,数字和所有拉丁字母 s/S 定位符,如空格、tab等 t/T 去掉第一和第二个 Arguments 里的尾部空格 u/U 所有大写拉丁字母
出自另外一篇文章:
a 增加(A - Z, a - z)到初始字符里(chars)。
d 增加数字到初始字符里(chars)。
f 增加下划线和字母(A - Z, a - z)到初始字符里(chars)。
g 增加图形字符到初始字符里(chars)。
k 不移除初始字符(chars)而是返回这些字符。
l 增加小写字母(a - z)。
n 增加数字、下划线和字母(A - Z, a - z)。
p 增加标点符号。
s 增加空格,包括空格、水平制表符、垂直制表符、回车符、换行符和换页符。
t 剪掉尾部空格。
u 增加大写字母(A - Z)。
w 增加可印刷的字符。
X 增加十六进制字符)。