【SAS NOTE】substr函数

From http://blog.sina.com.cn/s/blog_6e0a03730100mwvy.html

Substr(s,p,n)函数

【功能】字符替换与提取字符

【类别】 字符函数

【语法】

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

原文地址:https://www.cnblogs.com/colipso/p/2947340.html