SAS 字符串函数-SCAN
SAS SCAN函数
语法
SCAN(string,count<,character-list<,modifier>>);
要求参数 Required Arguments
String:指定字符常量、变量或表达式。
Count:具有整数值的非零数值常量、变量或表达式。整数值指定要SCAN选择的字符串中单词的数字。例如,值1表示第一个单词,值2表示第二个单词,以此类推。以下规则适用:
如果计数为正数,则SCAN从左到右对字符串中的单词进行计数。开始
如果计数为负数,则SCAN从右到左对字符串中的单词进行计数。末尾
示例
data scan;
x = "abc/A123/def";
y = scan(x,1,'/'); /*以/为分隔符,从左至右,取第一个分隔符的内容*/
z = scan(x,-1,'/'); /*以/为分隔符,从右至左,取第一个分隔符的内容*/
p = scan(x,-1,'/','a'); /*以/和大写字母为分隔符,从右至左,取第一个分隔符的内容*/
run;
选择参数 Optional Arguments
character-list:指定可选字符表达式,用于初始化字符列表。此列表确定使用哪些字符作为分隔单词的分隔符。以下规则适用:
默认情况下,字符列表中的所有字符都用作分隔符。
指定修饰符可以更改字符列表中的字符。例如,如果在modifier参数中指定K修饰符,则所有不在字符列表中的字符都将用作分隔符。
Modifier:指定一个字符常量、变量或表达式,其中每个非空字符都将修改SCAN函数的操作。空格将被忽略。
修饰符说明
参考来源:SAS Help Center: SCAN Functionhttps://documentation.sas.com/doc/en/pgmsascdc/9.4_3.2/lefunctionsref/p0jshdjy2z9zdzn1h7k90u99lyq6.htm#p01yonx7ui5pden1tt88x66c43ft