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

Posted

技术标签:

【中文标题】在 sas 中查找包含字母数字值的字符串【英文标题】:find string containing alphanumeric value in sas 【发布时间】:2017-06-13 08:05:58 【问题描述】:

我想查找包含字母数字值的变量,例如 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

【问题讨论】:

【参考方案1】:

任意位函数。

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

【讨论】:

它给了我一个错误,称为函数 ifc is unknown or cannot be access 。 如果它们的大小小于 7 个字符,也希望显示未找到示例:Val tag 21312 Not found【参考方案2】:

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

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

【讨论】:

以上是关于在 sas 中查找包含字母数字值的字符串的主要内容,如果未能解决你的问题,请参考以下文章

在Oracle中查找以字母数字开头的字符串

java算法面试题:有一个字符串,其中包含中文字符英文字符和数字字符,请统计和打印出各个字符的个数 按值的降序排序,如果值相同则按键值的字母顺序

在带有数字的列表中查找具有字母优先级的第一项

sas自定义标签可以包含多少字符

js判断字符串中是不是有数字和字母

SAS零散知识总结