如何使用sas中的findw函数
您可以使用 SAS 中的FINDW函数返回出现在字符串中的单词的第一个字符的位置。
该函数使用以下基本语法:
FINDW(字符串,单词)
金子:
- string : 要解析的字符串
- word :要在字符串中搜索的单词
下面的例子展示了如何在实际中使用这个功能。
示例:使用 SAS 中的 FINDW 函数
假设 SAS 中有以下数据集,其中包含一列表达式:
/*create dataset*/
data original_data;
input sentence $40. ;
datalines ;
A pig is my favorite animal
My name is piglet
Pigs are so cute
Here is a baby pig
His name is piggy
;
run ;
/*view dataset*/
proc print data = original_data;
我们可以使用FINDW函数来查找“pig”一词在句子列中第一次出现的位置:
/*find position of first occurrence of 'pig' in phrase column*/
data new_data;
set original_data;
findw_pig = findw (phrase, 'pig');
run ;
/*view results*/
proc print data = new_data;
名为findw_pig的新列显示单词“pig”在表达式列中第一次出现的位置。
如果单词“pig”从未出现在表达式列中,则FINDW函数仅返回值0 。
例如,从结果中我们可以看到:
第一句中“猪”一词第一次出现的位置是3 。
第二行句子中不单独包含“pig”一词,因此返回值0 。
等等。
FIND 和 FINDW 函数的区别
SAS 中的FIND函数返回特定子字符串在另一个字符串中第一次出现的位置。
相反, FINDW函数返回特定单词在另一个字符串中第一次出现的位置。
根据定义,单词前后必须有空格。
以下示例说明了FIND和FINDW函数之间的区别:
/*create new dataset*/
data new_data;
set original_data;
find_pig = find (phrase, 'pig');
findw_pig = findw (phrase, 'pig');
run ;
/*view new dataset*/
proc print data = new_data;
find_pig列显示子字符串“pig”在短语列中第一次出现的位置。
findw_pig列显示单词“pig”在表达式列中第一次出现的位置。
其他资源
以下教程介绍了如何使用 SAS 中的其他常用函数: