如何使用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函数的使用方法