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


您可以使用 SAS 中的SCAN函数从字符串中提取第 n 个单词。

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

SCAN(字符串,数字)

金子:

  • string : 要解析的字符串
  • count : 要提取的第 n 个单词

以下是使用此功能的三种最常见方法:

方法一:提取字符串中的第n个单词

 data new_data;
    set original_data;
    second_word = scan (string_variable, 2 );
run ;

方法2:从字符串中提取最后一个单词

 data new_data;
    set original_data;
    last_word = scan (string_variable, -1 );
run ;

方法3:从字符串中提取多个单词

 data new_data;
    set original_data;
    first_word = scan (string_variable, 1 );
    second_word = scan (string_variable, 2 );
    third_word = scan (string_variable, 3 );
run ;

以下示例展示了如何在 SAS 中对以下数据集使用每种方法:

 /*create dataset*/
data original_data;
    input name $20. dirty;
    datalines ;
Andy Lincoln Bernard 55
Barren Michael Smith 41
Chad Simpson Arnolds 13
Derrick Parson Henry 29
Eric Miller Johansen 47
Frank Giovanni Goode 61
;
run ;

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

示例 1:从字符串中提取第 n 个单词

以下代码显示如何从名称列中的每个字符串中提取第二个单词:

 /*extract second word in each row of name column*/
data new_data;
    set original_data;
    second_word = scan (name, 2 );
run ;

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

SAS中的SCAN函数

请注意,名为secondary_word的新列包含name列中每个字符串的第二个单词。

示例 2:从字符串中提取最后一个单词

以下代码显示如何使用 scan 函数中的-1值来提取名称列中每个字符串的最后一个单词:

 /*extract last word in each row of name column*/
data new_data;
    set original_data;
    last_word = scan (name, -1 );
run ;

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

请注意,名为last_word的新列包含名称列中每个字符串的最后一个单词。

示例 3:从字符串中提取多个单词

以下代码显示如何使用 scan 函数从名称列中的每个字符串中提取每个单词:

 /*extract each word in each row of name column*/
data new_data;
    set original_data;
    first_word = scan (name, 1 );
    second_word = scan (name, 2 );
    third_word = scan (name, 3 );
run ;

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

请注意,已创建三个新列,其中包含名称列中每个字符串的第一个、第二个和第三个单词。

其他资源

以下教程解释了如何在 SAS 中执行其他常见任务:

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

添加评论

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