COMPRESS?函數(shù)
【功能】從一個(gè)字符串移除特定的字符
Syntax
1compress?(<source,?chars><,?modifiers>)
source:?指定一個(gè)字符串來(lái)源chars:?指定要?jiǎng)h除或者保留的字符列表,需用引號(hào)modifiers:?指定修飾符瓤檐,不區(qū)分大小寫赂韵,用來(lái)控制 compress 函數(shù)的具體功能。如:
a?增加(A - Z挠蛉,?a - z)到初始字符里(chars)祭示。
d?增加數(shù)字到初始字符里(chars)。
f?增加下劃線和字母(A - Z谴古,?a - z)到初始字符里(chars)质涛。
g?增加圖形字符到初始字符里(chars)。
k?不移除初始字符(chars)而是返回這些字符掰担。
l 增加小寫字母(a - z)汇陆。
n?增加數(shù)字、下劃線和字母(A - Z带饱,?a - z)毡代。
p?增加標(biāo)點(diǎn)符號(hào)。
s?增加空格勺疼,包括空格教寂、水平制表符、垂直制表符执庐、回車符酪耕、換行符和換頁(yè)符。
t?剪掉尾部空格轨淌。
u?增加大寫字母(A - Z)因妇。
w?增加可印刷的字符。
X?增加十六進(jìn)制字符
【詳細(xì)】
????????1.只有source猿诸,移除空格婚被。
2.只有source,chars時(shí)梳虽,從source中移除chars址芯。
3.?source?,chars窜觉,modifiers都有時(shí)谷炸,modifiers K決定保留還是移除。無(wú)K時(shí)禀挫,移除chars加上modifiers指定的旬陡。例如這兩都是移除數(shù)字,COMPRESS(source语婴,?“1234567890”)描孟;COMPRESS(source驶睦,,?“d”)匿醒;這兩個(gè)是移除數(shù)字和加減號(hào)场航,COMPRESS(source,?“1234567890+-”)廉羔;COMPRESS(source溉痢,?“+-”,?“d”)憋他;
Example 1移除空格
1
2
3
4
5
data?_null_孩饼;
a='ABC?D?';
b=compress(a)竹挡;
put?b镀娶;
run;
結(jié)果是ABCD此迅。
Example 2:移除小寫字母
將修飾符設(shè)定為”l”汽畴,代表 lowcase旧巾,即將所有的小寫字母加入到要?jiǎng)h除的字符列表中耸序;如不用修飾符”l”,也可以直接把所有a-z的小寫字母列入要?jiǎng)h除的字符串列表當(dāng)中鲁猩,效果一樣坎怪,但顯然前者比較簡(jiǎn)單;本例可以將所有小寫字母和大寫的”E”從指定的字符串中刪除廓握。
1
2
3
4
5
6
7
8
data?test;?
set?have;?
char1=compress(char,"E","l");?
run;?
data?test;?
set?have;?
char1=compress(char,"abcdefghijklmnopqrstuvwxyzE");?
run;
Example 3:移除Tab
1
2
3
4
5
6
7
8
9
data?_null_搅窿;
x='1
2
3
4
5';
y=compress(x隙券,男应,'s');
put?y娱仔;
run沐飘;
結(jié)果是12345。
Example 4:保存字符
1
2
3
4
5
data?_null_牲迫;
x='Math?A?English?B?Physics?A'耐朴;
y=compress(x,'ABCD'盹憎,'k')筛峭;
put?y;
run陪每;
結(jié)果是ABA.