如何使用sas中的anydigit函数


您可以使用 SAS 中的ANYDIGIT函数返回给定字符串中第一个数字的位置。

该函数使用以下基本语法:

ANYDIGIT(表达式, [开始])

金子:

  • 表达式:要搜索的字符串
  • start(可选) :搜索的起始位置。

下面的例子展示了如何在实际中使用这个功能。

示例:使用 SAS 中的 ANYDIGIT 函数

假设我们在 SAS 中有以下数据集,其中包含有关公司各个员工的信息:

 /*create dataset*/
data my_data;
    input employeeID $sales;
    datalines ;
54AAF 23
0009A 38
BC18B 40
09:30 12
04429 65
B1300 90
B1700 75
RRHHJ 35
0Y009 40
C6500 23
;
run ;

/*view dataset*/
proc print data =my_data; 

我们可以使用ANYDIGIT函数来查找EmployeeID列中第一个数字的位置:

 /*create new dataset*/
data new_data;
    set my_data;
    firstDigit = anydigit (employeeID);
run ;

/*view new dataset*/
proc print data = new_data;

名为firstDigit的新列显示EmployeeID列中第一次出现数字的位置。

例如:

  • 54AAF 的第一位数字位于位置1
  • 0009A 的第一个数字位于位置1
  • BC18B 的第一位数字位于位置3

等等。

如果给定员工 ID 没有数字,则返回值0

我们还可以使用ANYDIGIT函数中的start参数来指定搜索的起始位置。

例如,我们可以使用以下代码查找EmployeeID列中从位置 3 开始的第一个数字的位置:

 /*create new dataset*/
data new_data;
    set my_data;
    firstDigit = anydigit (employeeID, 3 );
run ;

/*view new dataset*/
proc print data =new_data; 

请注意,前两个位置仅包含字母字符的EmployeeID值现在会在firstDigit列中接收值0 ,因为数字搜索现在从位置3开始。

其他资源

以下教程介绍了如何使用 SAS 中的其他常用函数:

如何从SAS中的字符串中删除特殊字符
如何在SAS中替换字符串中的字符
SAS中如何将字符变量转换为数值

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注