【功能】字符替换与提取字符
【类别】 字符函数
【语法】
1 (right of =) Function,提取字符:Substr(s,p,n)从字符串s中的第p个字符开始提取n个字符的子串。
2 (left of =) Function,字符替换:Substr(s,p,n)=characters-to-replace,从变量s的p个字符开始替换n个字符
【注意】:
1. 必须是从字符变量中提取,对数值变量不起作用,必须转换为字符变量,如果是数字变量,在调用substr函数时会自动把数字变量转为字符变量,不过需要注意的是转化为的字符变量采用的是best12.格式。
举例 data _null_;x=1234;y=substr(x,1,2);y1=substr(x,9,2);z=substr(left(x),1,2);put x= y= y1= z=;run;
2.n的长度不能超过p后面的长度,例如s=alibaba,b=Substr(s,5,5)系统会有提示。
3.如果缺失n的话,SAS则会提取p后面全部字符,如果是替换的话,则不能缺失n。
example 1: 字符提取
data sub;
date='11192010';
month=substr(date,1,2);
year=substr(date,5,4);
put @1 month @5 year;
run;
输出结果:11 2010
example 2:替换部分字符
data wb;
a='KIDNAP';
substr(a,1,3)='CAT';
put a;
run;
输出结果:CATNAP
如果是
data wb;
a='KIDNAP';
substr(a,1,4)='CAT';
put a;
run;
结果为:CAT AP
文章来源:http://ga0ping.blog.163.com/blog/static/163238618201142612550936/
http://ga0ping.blog.163.com/blog/static/163238618201142612550936/