楼主: 乾坤神龙
2943 20

关于字符提取 [推广有奖]

  • 8关注
  • 1粉丝

硕士生

27%

还不是VIP/贵宾

-

威望
0
论坛币
2 个
通用积分
0
学术水平
4 点
热心指数
9 点
信用等级
5 点
经验
2341 点
帖子
78
精华
0
在线时间
196 小时
注册时间
2010-6-2
最后登录
2023-9-6

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
各位大家好,有个问题想要求助一下;
data a;         input x $20.;
cards;
01球场太远A
023球场石家庄1
0006球场北京2
;
run;
数据集大概这个样子,主要目的是,对字符串从右边进行提取,最后输出
球场太远A
球场石家庄1
球场北京2
后面的字符不是一样长的,
一时不知道怎么从右边对字符串进行提取,谢谢各位了!!

不好意思,问题问的有点误会,再澄清一下:
各位老大好,我的问题出现点误会;后面的字符不是一样多的
实际上我是有两列,A和B列是已经存在的内容,C列为目标列:
A           B                        C
01         01球场北京A               球场北京A
002       002球场石家庄1              球场石家庄1
054       054球场s              球场s
主要是这个目的!!
不知道如何能够达到这种效果!!


二维码

扫码加我 拉你入群

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

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

关键词:Input cards 我的问题 Data card 石家庄 字符串 北京 球场

回帖推荐

tj0412ymy 发表于9楼  查看完整内容

本帖被以下文库推荐

沙发
tj0412ymy 发表于 2012-5-21 19:13:57 |只看作者 |坛友微信交流群
  1. data a;        
  2. input x $20.;
  3. cards;
  4. 01球场A
  5. 023球场1
  6. 0006球场2
  7. ;
  8. run;

  9. data b;
  10. set a;
  11. x_sub=substr(x,length(x)-4,5);
  12. run;
  13. proc print noobs;run;
复制代码
对SAS和统计方面感兴趣的朋友,请加SAS学习和认证讨论群:169157207。欢迎在群上讨论!

使用道具

藤椅
pl172231 发表于 2012-5-21 19:27:02 |只看作者 |坛友微信交流群
看我正则表达式
data a;        
input x $20.;
cards;
01球场A
023球场1
0006球场2
;
run;

data b;
set a;
a=prxchange('s/[0-9]+([\w]+)/$1',-1,x)
run;
proc print noobs;run;

使用道具

板凳
pl172231 发表于 2012-5-21 19:28:23 |只看作者 |坛友微信交流群
tj0412ymy 发表于 2012-5-21 19:13
看我正则表达式
data a;        
input x $20.;
cards;
01球场A
023球场1
0006球场2
;
run;

data b;
set a;
a=prxchange('s/[0-9]+([\w]+)/$1',-1,x)
run;
proc print noobs;run;

使用道具

报纸
乾坤神龙 发表于 2012-5-22 09:12:21 |只看作者 |坛友微信交流群
pl172231 发表于 2012-5-21 19:28
看我正则表达式
data a;        
input x $20.;
实际上我是有两列,A和B列是已经存在的内容,C列为目标列:
A           B                        C
01         01球场A               球场A
002       002球场1              球场1
054       054球场s              球场s
主要是这个目的!!
不知道如何能够达到这种效果!!

使用道具

地板
sunset1986 发表于 2012-5-22 09:21:00 |只看作者 |坛友微信交流群
乾坤神龙 发表于 2012-5-22 09:12
实际上我是有两列,A和B列是已经存在的内容,C列为目标列:
A           B                        C
...
楼主,在我看来,二楼的代码足够满足你的需求咯
An honest tale speeds best being plainly told.
Cheers!

使用道具

7
乾坤神龙 发表于 2012-5-22 10:12:24 |只看作者 |坛友微信交流群
tj0412ymy 发表于 2012-5-21 19:13
这位老大你好,我的问题出现点误会;后面的字符不是一样多的
实际上我是有两列,A和B列是已经存在的内容,C列为目标列:
A           B                        C
01         01球场北京A               球场北京A
002       002球场石家庄1              球场石家庄1
054       054球场s              球场s
主要是这个目的!!
不知道如何能够达到这种效果!!


使用道具

8
乾坤神龙 发表于 2012-5-22 10:13:50 |只看作者 |坛友微信交流群
sunset1986 发表于 2012-5-22 09:21
楼主,在我看来,二楼的代码足够满足你的需求咯
这位老大你好,我的问题出现点误会;后面的字符不是一样多的
实际上我是有两列,A和B列是已经存在的内容,C列为目标列:
A           B                        C
01         01球场北京A               球场北京A
002       002球场石家庄1              球场石家庄1
054       054球场s              球场s
主要是这个目的!!
不知道如何能够达到这种效果!!

使用道具

9
tj0412ymy 发表于 2012-5-22 10:27:41 |只看作者 |坛友微信交流群
乾坤神龙 发表于 2012-5-22 10:12
这位老大你好,我的问题出现点误会;后面的字符不是一样多的
实际上我是有两列,A和B列是已经存在的内 ...
  1. data a;        
  2. input A $ B $20.;
  3. cards;
  4. 01         01球场北京A              
  5. 002       002球场石家庄1            
  6. 054       054球场s
  7. ;
  8. run;

  9. data b;
  10. set a;
  11. C=TRANSLATE(B,'',A);
  12. run;
  13. proc print noobs;run;
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
乾坤神龙 + 1 + 1 + 1 十分感谢!!

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

对SAS和统计方面感兴趣的朋友,请加SAS学习和认证讨论群:169157207。欢迎在群上讨论!

使用道具

10
乾坤神龙 发表于 2012-5-22 10:57:58 |只看作者 |坛友微信交流群
tj0412ymy 发表于 2012-5-22 10:27
这位老大,非常感谢你的帮助;
对于C=TRANSLATE(B,'',A);
这个作用机制还是有点不明白,希望得到您的指点,谢谢!!

使用道具

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

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

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

GMT+8, 2024-5-3 04:44