如何在 sas 中使用 substr 函数(附示例)
您可以使用 SAS 中的SUBSTR函数来提取字符串的一部分。
该函数使用以下基本语法:
SUBSTR(源、位置、N)
金子:
- 来源:分析渠道
- Position : 读取的起始位置
- N :要读取的字符数
以下是使用此功能的四种最常见方法:
方法一:提取字符串的前N个字符
data new_data;
set original_data;
first_four = substr (string_variable, 1 , 4 );
run ;
方法二:从字符串中提取特定位置范围内的字符
data new_data;
set original_data;
two_through_five = substr (string_variable, 2 , 4 );
run ;
方法3:提取字符串的最后N个字符
data new_data;
set original_data;
last_three = substr (string_variable, length (string_variable)- 2 , 3 );
run ;
方法4:如果字符串中存在字符则创建一个新变量
data new_data;
set original_data;
if substr (string_variable, 1 , 4 ) = ' some_string ' then new_var = ' Yes ';
else new_var = ' No ';
run ;
以下示例展示了如何在 SAS 中对以下数据集使用每种方法:
/*create dataset*/
data original_data;
input team $1-10;
datalines ;
Warriors
Wizards
Rockets
Celtics
Thunder
;
run ;
/*view dataset*/
proc print data = original_data;
示例 1:从字符串中提取前 N 个字符
以下代码显示如何从team变量中提取前 4 个字符:
/*create new dataset*/
data new_data;
set original_data;
first_four = substr (team, 1 , 4 );
run ;
/*view new dataset*/
proc print data = new_data;
请注意, first_four变量包含team变量的前四个字符。
示例2:从字符串中提取特定位置范围内的字符
以下代码显示如何从team变量的位置 2 到 5 提取字符:
/*create new dataset*/
data new_data;
set original_data;
two_through_five = substr (team, 2 , 4 );
run ;
/*view new dataset*/
proc print data = new_data;
示例 3:从字符串中提取最后 N 个字符
以下代码显示了如何从team变量中提取最后 3 个字符:
/*create new dataset*/
data new_data;
set original_data;
last_three = substr (team , length (team) -2,3 );
run ;
/*view new dataset*/
proc print data = new_data;
示例 4:如果字符串中存在字符,则创建一个新变量
以下代码演示如何创建一个名为W_Team的新变量,如果团队名称的第一个字符是“W”,则该变量的值为“ yes ”;如果第一个字符不是“W”,则该变量的值为“ no ”。
/*create new dataset*/
data new_data;
set original_data;
if substr (team, 1 , 1 ) = ' W ' then W_Team = ' Yes ';
else W_Team = ' No ';
run ;
/*view new dataset*/
proc print data = new_data;
其他资源
以下教程解释了如何在 SAS 中执行其他常见任务: