SAS 字符处理函数全解析
1. SCAN 函数的使用
在处理字符表达式时,SCAN 函数是一个强大的工具。你可以根据需要指定多个分隔符,以正确地分隔字符表达式。当指定多个分隔符时,SAS 会将任何单个分隔符或它们的组合用作单词分隔符。例如,若同时指定斜杠和连字符作为分隔符,SCAN 函数会将以下文本字符串分隔成三个单词。
SCAN 函数会将两个或多个连续的分隔符视为一个分隔符,并且开头的分隔符不会产生影响。
如果在使用 SCAN 函数时未指定分隔符,则会使用默认分隔符,默认分隔符如下:
| 默认分隔符 |
| ---- |
| 空格、.、<、(、+、|、&、!、$、*、)、;、^、-、/、,、% |
在使用 SCAN 函数时,若变量在指定之前未分配长度,该变量将被赋予第一个参数的长度,这个长度对于其余变量来说可能过大或过小。你可以在 DATA 步骤中添加 LENGTH 语句,为所有变量指定合适的长度。由于 SAS 在 DATA 步骤中首次遇到新字符变量时会设置其长度,所以 LENGTH 语句应放在包含 SCAN 函数的赋值语句之前。
以下是一个示例代码:
data hrd.newtemp(drop=name); set hrd.temp; length LastName FirstName MiddleName $ 10; lastname=scan(name,1); firstname=scan(name,2); middlename=scan(name,3); run;