楼主: 日复一日12
3365 6

小白在用substr的时候出现的问题,求教学 [推广有奖]

  • 0关注
  • 1粉丝

已卖:133份资源

讲师

17%

还不是VIP/贵宾

-

威望
0
论坛币
1151 个
通用积分
43.6279
学术水平
10 点
热心指数
18 点
信用等级
11 点
经验
11224 点
帖子
155
精华
0
在线时间
685 小时
注册时间
2012-3-26
最后登录
2025-1-23

楼主
日复一日12 发表于 2014-3-21 22:17:55 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
在使用substr时候出现了一些问题,具体程序如下:
先定义一个字符变量X的长度t, t=length(X),
之后从这个X中判断后两位是否含有字符"co",用了
if substr(x, t-3, t)="co"
then Y=substr(X, 1, t-4);
else Y=x;
run;
实际上这个程序的作用是要把变量X中的后缀“co”去掉,让Y中不包含后缀co。
不知道出了什么问题,日志显示了无数这个提示:
NOTE: 函数“SUBSTR”的第三参数(行164 列12) 无效
但是实际去这个行检查的时候,发现它已经把后缀去掉了。
我彻底迷糊了。。。。
我用的是sas9.2, 同学之前用的9.3跑过类似程序没有问题,难道是版本的原因?不会吧。。。
还有除了这种办法之外有没有去掉后缀的更好的办法?
求教学。。。
跪谢。。。






二维码

扫码加我 拉你入群

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

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

关键词:SUBSTR subs SUB UBS length 教学

沙发
日复一日12 发表于 2014-3-21 22:18:28
顶一下。。。

藤椅
zw612003 发表于 2014-3-22 00:12:54 来自手机
日复一日12 发表于 2014-3-21 22:17
在使用substr时候出现了一些问题,具体程序如下:
先定义一个字符变量X的长度t, t=length(X),
之后从这 ...
if t>2 and substr(x, t-1,t)='co' then
y=substr(x,1,t-2);
else y=x;

板凳
zw612003 发表于 2014-3-22 00:13:47 来自手机
日复一日12 发表于 2014-3-21 22:17
在使用substr时候出现了一些问题,具体程序如下:
先定义一个字符变量X的长度t, t=length(X),
之后从这 ...
多半是因为长度不够,第三个参数是负数了。

报纸
日复一日12 发表于 2014-3-22 20:12:27
zw612003 发表于 2014-3-22 00:13
多半是因为长度不够,第三个参数是负数了。
恩 检查了一下t 长度有的是2 4 什么的,但是用了t>4之后还是会显示。。。啊啊啊

地板
intheangel 学生认证  发表于 2014-3-23 12:12:32
substr(a,b,c)b是位置,c是长度,你从t-4开始,提取t个肯定a的长度不够啊,
substr(a,t-3,4)才对吧?当然你选长度大于4的它肯定会说长度不够,但是后面的字符肯定也全帮你消除了
我是一只瘦瘦的小猪~~~
╭︿︿︿╮
{/-◎◎-/}
( (oo) )
  ︶︶︶

7
日复一日12 发表于 2014-3-24 15:31:19
intheangel 发表于 2014-3-23 12:12
substr(a,b,c)b是位置,c是长度,你从t-4开始,提取t个肯定a的长度不够啊,
substr(a,t-3,4)才对吧?当然 ...
是你说的这个原因 谢谢你!!

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 01:52