楼主: Sunjie650
1017 1

[问答] SAS 怎么从的字段中无序的内容中取出,关键字后的内容 [推广有奖]

  • 0关注
  • 0粉丝

高中生

22%

还不是VIP/贵宾

-

威望
0
论坛币
8 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
206 点
帖子
9
精华
0
在线时间
24 小时
注册时间
2016-4-21
最后登录
2022-4-13

楼主
Sunjie650 发表于 2017-4-18 11:32:21 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
SAS 怎么从的字段中无序的内容中取出,关键字后的内容,如:IEC法测量头样,浪高0.7,浪距150MM,尾样浪高0.7,浪距160MM
IEC测量浪高头样1.5,浪距160,尾样浪高1.5,浪距170,急峻度超标
IEC边浪头样浪高1,浪距260尾样0
IEC浪距为150MM浪高2
IEC边浪数据,头样:浪高1.6m,浪距200mm;尾样:浪高1.4mm,浪距200mm
IEC边浪数据,头样:浪高1.6mm,浪距250mm;尾样:浪高1.5mm,浪距230mm

我要的数据是:
头样浪高 头样浪距  尾样浪高 尾样浪高
0.7          150           0.7        160
1.5          160           0.8        145
1.1           90            0            90
0              100          0.3         60
这样格式的4列数据。谢谢!



二维码

扫码加我 拉你入群

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

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

关键词:关键字 关键字

沙发
lovexialulu 发表于 2017-4-19 17:14:17
  1. data a;
  2. length x $40.;
  3. x='xxxx,TY:LG1.6mm,LJ25.9mm;WY:LG1.5MM,LJ230mm';output;
  4. x='xxxx,TY:LG1.6mm,LJ2.59mm,WYLJ230mm';output;
  5. x='xxxx,TY:LG16mm,LJ259mm';output;
  6. x='TY:LJ259mm,WY:LG1.5MM,LJ230mm';output;
  7. x='WY:LJ2.30mm';output;
  8. run;

  9. data b;
  10. set a;
  11. x=tranwrd(x,'WY','#');
  12. length x1-x2 c1-c4 $30.;
  13. /*skip the raw OBS to two parts due to repeate-------hypothesis: every OBS cantain key words 'WY'*/
  14. x1=scan(x,1,'#');/*TY*/
  15. X2=scan(x,2,'#');/*WY*/

  16. if prxmatch("/^#/",x) then do;x1='' ;x2=x; end;/*begin with '#' will skip to x1,hehe*/

  17. if prxmatch("/LG\d/",x1) then c1=prxchange("s/(.+)?LG(\d+.?\d+)(.+)/$2/",1,x1);/*key---LG*/
  18. if prxmatch("/LJ\d/",x1) then c2=prxchange("s/(.+)?LJ(\d+.?\d+)(.+)/$2/",1,x1);/*key---LJ*/
  19. if prxmatch("/LG\d/",x2) then c3=prxchange("s/(.+)?LG(\d+.?\d+)(.+)/$2/",1,x2);
  20. if prxmatch("/LJ\d/",x2) then c4=prxchange("s/(.+)?LJ(\d+.?\d+)(.+)/$2/",1,x2);

  21. run;
复制代码

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

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