如何使用SAS正则表达式清理单元格

时间:2013-11-21 14:59:49

标签: sas

我有一张桌子

id Attribute                          Other
1  Written Jan 20 File: 78yt8fgkje    ....
2  12/22/2004 File: 3Bsdffsdf85       ....
3  12/17/2004 File: 5Osdfdsf58384     ....
4  Some May File: 0w98ejcj            ....
5  10/24/2001 File: 2Ddsfsdfd1429     ....
          ....................

我需要删除{strong>之后> File:变量中Attribute字的所有内容

我该怎么做?


我从互联网上试过这个解决方案。它不起作用,我不明白什么是32767

data newDataSet;
set oldDataSet;
regex1 = prxparse("/ File:.*? /");
call  prxchange(rx1, 32767, Attribute);
run;

1 个答案:

答案 0 :(得分:1)

PRX对此可能有点过头了。

data want;
set have;
filepos = find(attribute,'File:');
if filepos>0 then attribute=substr(Attribute,1,filepos+5);
run;

Filepos + 5是保留“文件:”,正如您所说的“之后”。如果你想摆脱“文件:”,只需摆脱+5。