如何使用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函数返回特定单词在另一个字符串中第一次出现的位置。

根据定义,单词前后必须有空格。

以下示例说明了FINDFINDW函数之间的区别:

 /*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; 

SAS 中的 FIND 和 FINDW 函数

find_pig列显示子字符串“pig”在短语列中第一次出现的位置。

findw_pig列显示单词“pig”在表达式列中第一次出现的位置。

其他资源

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

如何使用SAS中的FIND函数
如何使用SAS中的FINDC功能
SAS中SUBSTR函数的使用方法

添加评论

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