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

标签