如何使用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;
请注意,名为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 中执行其他常见任务: