tranwrd函数: 替换指定字符
X="ABCDABA";
B=Compress(X,"AB"); /*删除字符A和B*/
Y=tranwrd(X,"AB","K");/*用K代替AB*/
Z=tranwrd(X,"AB","");/*用空格代替AB*/
M=compress(tranwrd(X,"AB",""),"");/*在Z的基础上去掉空格*/
N=compress(Z);/*M等价于N,compress缺省为去掉空格*/
run;
proc print;
run;
SAS中的两个字符串处理函数:tranwrd函数、translate函数 (2014-04-16 17:04:35)转载▼
标签: sas translate tranwrd 分类: SAS笔记
1.tranwrd函数:将字符串中的某些字符替换为其他字符。
data _null_;
a='abcd';
b=tranwrd(a,'bc','xx');
put a= b=;
run;
在log中输出结果为: a=abcd b=axxd
2.translate函数:变换字符串中字符的顺序,或者替换字符。
data _null_;
old="123456";
new=translate(old,"a","2","b","4","c","6");
put new=;
run;
在log中输出结果为: new=1a3b5c
data _null_;
A='04/20/2017';
B=translate(a,'-','/');
put B=;
run;
在log中输出结果为: B=04-20-2017
3.字符串替换
函数translate会替换某个字符,而Transwrd会替换某个单词。例如
data trans;
input answer : $5.;
answer = translate(answer,'ABCDE','12345');
datalines;
14325
AB123
51492
;
run;
得到结果如下
Answer
ADCBE
ABABC
EAD9B