在sas中查找包含字母数字值的字符串

时间:2017-01-27 15:25:17

标签: database sas dataset

我想找到包含字母数字值的变量,如123asd或数值123到9,任意组合1到9.如果存在,则创建新列,找到'文本。

代码:

 data one;
 input Val $;

 datalines;
 abc.400
 300.bef
 3456321
 abcdefg
 123.234
 ;

 proc print;
 run;

输出应该是

  value    tag
 abc.400  found
 300.bef  found
 3456321  found
 abcdefg  nofound
 123.234  found

2 个答案:

答案 0 :(得分:3)

Anydigit功能。

flag=ifc(anydigit(Val)>0,'Found','NoFound');

答案 1 :(得分:1)

您可以使用compress()kd(保持数字)第三个参数,然后使用missing()查看是否返回任何内容。我把它放在一个带有ifc的单行中,这是一个excel样式的if(如果为true则返回第二个参数,如果为false则返回第三个参数),返回字符)。

tag = ifc(missing(compress(value,,'kd')),'nofound','found')