楼主: googlegood
3241 0

[原创博文] SAS之substr函数(zz) [推广有奖]

  • 3关注
  • 1粉丝

硕士生

1%

还不是VIP/贵宾

-

威望
0
论坛币
15 个
通用积分
0
学术水平
0 点
热心指数
4 点
信用等级
0 点
经验
1230 点
帖子
115
精华
0
在线时间
69 小时
注册时间
2011-8-24
最后登录
2012-8-11

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
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

文章来源:http://ga0ping.blog.163.com/blog/static/163238618201142612550936/
http://ga0ping.blog.163.com/blog/static/163238618201142612550936/
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:SUBSTR subs R函数 SUB UBS

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-11-5 20:45