列一:用substr替换字段中某字符
替换某字段某长度:如替换电话号码后四位为****,替换姓名中间为*;
注:中文在sas中占两字节(所以中间一字段应该是替换2位,所以用两个*替换)
data temp; input phone $12. name$8.; cards; 13345679810 王女士 13347899999 周小花 13355667788 赵小敏 18999999999 李梅妹 ; run;
data temp1; set temp; substr(phone,8,4)='****'; substr(name,3,2)='**'; run;
打印查看结果
proc print data=temp1; quit;
把特定字符改成另一字符,用tranwrd,如例所示:替换**为*
data temp2; set temp1; name= tranwrd(name,"**","*"); run;
proc print data=temp2; quit;
例二:如果要去掉姓名中的*,则
data temp3; set temp2; a=compress(name,'*',''); run;
proc print data=temp3; quit;