楼主: playmore
5832 2

[程序分享] SAS基础宏之17:PrxMatch [推广有奖]

学科带头人

2%

还不是VIP/贵宾

-

TA的文库  其他...

R相关

经济学相关

金融工程

威望
1
论坛币
16320 个
通用积分
8.2197
学术水平
372 点
热心指数
394 点
信用等级
341 点
经验
15297 点
帖子
1194
精华
1
在线时间
1331 小时
注册时间
2007-1-11
最后登录
2023-12-15

初级学术勋章 初级热心勋章 中级热心勋章

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
很简单的一个宏,就是用正则表达式匹配指定的字符串
匹配成功则返回1,不成功则返回0

  1. %macro PrxMatch(InputString,PrxString);

  2. /**********************************************************************/
  3. /* 此宏利用正则表达式的方法检索字符串中是否包含有指定的子串。其中,   */
  4. /* InputString是原始字符串;PrxString是指定子串的正则表达式,注意正则 */
  5. /* 表达式要用/.../符号括起来。                                        */
  6. /*                                                                    */
  7. /* 最终若匹配成功,则返回1,否则返回0。                               */
  8. /*                                                                    */
  9. /* 另外,此宏选取自"Using PRX to Search and Replace Patterns in SAS   */
  10. /* Programming",并稍加改动。                                         */
  11. /*                                                                    */
  12. /*                                      Created on 2012.4.9           */
  13. /*                                      Modified on 2012.4.9          */
  14. /**********************************************************************/

  15. %local PrxStringid regrt;

  16. %let regrt=0;
  17. %let PrxStringid=%sysfunc(prxparse(&PrxString));

  18. %if &PrxStringid GT 0 %then %do;
  19.         %let regrt=%sysfunc(prxmatch(&PrxStringid, &InputString));
  20. %end;

  21. %syscall prxfree(PrxStringid);
  22. %str(®rt)                /* 最后不需要加分号 */

  23. %mend;


  24. %macro Demo();

  25. /* test whether there is a match or not */
  26. %let zip=%PrxMatch(InputString=34567-2345,PrxString=/\d{5}-\d{4}/);
  27. %put &zip;

  28. %mend;
复制代码



二维码

扫码加我 拉你入群

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

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

关键词:PrxMatch sas基础 Match ATCH 基础宏 表达式 字符串

已有 1 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
webgu + 60 + 60 + 1 + 1 + 1 精彩帖子

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

本帖被以下文库推荐

playmore邀请您访问ChinaTeX论坛!!!进入ChinaTeX论坛
沙发
yangz98 发表于 2013-10-8 22:00:17 |只看作者 |坛友微信交流群
Thanks! But macro %prxchange is remained unsolved.

使用道具

藤椅
chinaeu 发表于 2013-10-9 22:11:57 |只看作者 |坛友微信交流群
顶啊

使用道具

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

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

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

GMT+8, 2024-11-6 07:23