楼主: 小白学SAS09
990 4

[问答] 【求助】SAS正则表达式提取文本中多行多列字符串(由字符和数字组成)的程序怎么实现 [推广有奖]

  • 0关注
  • 0粉丝

初中生

0%

还不是VIP/贵宾

-

威望
0
论坛币
7 个
通用积分
1.0000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
586 点
帖子
7
精华
0
在线时间
8 小时
注册时间
2020-1-12
最后登录
2020-4-28

10论坛币
各位大师,求助一个SAS编程方面的问题。
考虑用正则表达式提取导入数据中由字符和数字组成的长度为8的字符串的程序怎么实现,这种特定字符串存在多行多列的情况,比如:
序号        列1             列2
1       ASAD1234    BBBB6789
2       J23DD790    1L561WQE

最佳答案

关键词:正则表达式 字符串 表达式 SAS编程 导入数据
沙发
xiaoxi_23 发表于 2020-1-12 15:54:07 |只看作者 |坛友微信交流群
updated
  1. data want;
  2.         set have;
  3.         array str(2) col1-col2  ;
  4.         array new(2) $8  new1-new2 ;
  5.         do i=1 to 2;
  6.                 if prxmatch("/\b[a-zA-Z0-9]{8}\b/o",str(i)) then new(i)=str(i);
  7.         end;
  8. run;
复制代码
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
admin_kefu + 20 + 2 + 2 + 2 精彩帖子

总评分: 论坛币 + 20  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

使用道具

藤椅
小白学SAS09 发表于 2020-1-14 06:34:50 来自手机 |只看作者 |坛友微信交流群
小白学SAS09 发表于 2020-1-12 15:54
各位大师,求助一个SAS编程方面的问题。
考虑用正则表达式提取导入数据中由字符和数字组成的长度为8的字符 ...
求教,自己顶

使用道具

板凳
小白学SAS09 发表于 2020-1-15 15:23:12 来自手机 |只看作者 |坛友微信交流群
小白学SAS09 发表于 2020-1-12 15:54
各位大师,求助一个SAS编程方面的问题。
考虑用正则表达式提取导入数据中由字符和数字组成的长度为8的字符 ...
求教,自己顶

使用道具

报纸
xiaoxi_23 发表于 2020-1-16 11:46:53 |只看作者 |坛友微信交流群
  1. data have;
  2. input col1 $ 1-8 col2 $ 10-17 ;
  3. cards;
  4. ASAD1234 BBBB6789
  5. J23DD790 1L561WQE
  6. ??xxxbcd _?*djffs
  7. 12334ddd &djd>ccc
  8. ;
  9. run;

  10. data want;
  11.         set have;
  12.         array str(2) col1-col2  ;
  13.         array new(2) $8  new1-new2 ;
  14.         do i=1 to 2;
  15.                 if prxmatch("/\w{8}?/",str(i)) and not index(str(i),"_") then new(i)=str(i);
  16.         end;
  17. run;
复制代码
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
admin_kefu + 40 + 2 + 2 + 2 热心帮助其他会员

总评分: 论坛币 + 40  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

使用道具

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

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

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

GMT+8, 2024-4-29 01:53