如何使用sas中的index函数(附示例)


您可以使用 SAS 中的INDEX函数返回一个字符串在另一个字符串中第一次出现的位置。

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

索引(来源、摘录)

金子:

  • 来源:分析渠道
  • extract :要在中搜索的字符串

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

示例:使用 SAS 中的 INDEX 函数

假设 SAS 中有以下数据集,其中包含一列名称:

 /*create dataset*/
data original_data;
    input name $25.;
    datalines ;
Andy Lincoln Bernard
Michael Smith
Chad Simpson Arnolds
Derrick Smith Henrys
Eric Millerton Smith
Frank Giovanni Goode
;
run ;

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

我们可以使用INDEX函数来查找字符串“Smith”在每一行中第一次出现的位置:

 /*find position of first occurrence of 'Smith' in name*/
data new_data;
    set original_data;
    first_smith = index (name, ' Smith ');
run ;

/*view results*/
proc print data = new_data;

名为first_smith的新列显示名称列中字符串“Smith”第一次出现的位置。

如果根本找不到“Smith”,则INDEX函数仅返回值0

请务必注意, INDEX函数区分大小写,因此如果您搜索“smith”,则INDEX函数将为每个字符串返回0

 /*find position of first occurrence of 'smith' in name*/
data new_data;
    set original_data;
    first_smith = index (name, ' smith ');
run ;

/*view results*/
proc print data = new_data; 

要执行不区分大小写的搜索,可以使用lowcase()函数首先将每个字符串转换为小写,然后搜索“smith”,如下所示:

 /*find position of first occurrence of 'smith' in name*/
data new_data;
    set original_data;
    first_smith = index ( lowcase (name), ' smith ');
run ;

/*view results*/
proc print data = new_data; 

通过首先将每个字符串转换为小写,我们可以使用INDEX函数执行不区分大小写的搜索。

其他资源

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

SAS中SUBSTR函数的使用方法
如何使用SAS中的COMPRESS函数
如何使用SAS中的FIND函数
SAS中COALESCE函数的使用方法

添加评论

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