字符串提取;
index
查询字符串中含有特定字符的字符串;
index(var,str);
/var变量 str 需要查找的字符串/
例如:/筛选出class数据集name中含有‘斯’的/
data b;
set SASHELP.CLASS;
if index(name,'斯') then output;
run;
compress
compress英文上讲为’压缩‘,在SAS中就是删除字符串,但当使用了修饰符'K'时则指保留字符串;
compress(var,str,modifier)
a=compress(var,'str');在变量var中删除指定的字符str;
a=compress(var,'str','d');在变量var中删除指定的字符'str',并删除修饰符'd'(数字)
a=compress(var,,'k');保留变量var
a=compress(var,'str','k');保留变量var中的指定字符'str'(删除var中除'str'以外的其他字符)
a=compress(var,'str','kd');保留变量var中的字符串和修饰符'd'(数字)
substr
提取字符串(此处只讨论substr在=右边的情况)
substr(var,position,length);
a=substr(var,n,p);从变量var的第n个字符开始提取p个字符;
a=substr(X,length(X)-3,4);从X的右侧开始截取4个字符
scan
返回字符串中第n个单词;
scan(var,n);n为正数,从变量var的末尾提取n个字符
scan(var,n);n为负数,从变量var的开始提取n个字符
scan(var,n,'str'/'modifier');在变量中以'str'为分隔符,提取第n个字符(n为负数则是从末尾开始提取)
modifier(修饰符说明)
coalesce/coalescec
返回变量序列第一个非空值;
coalesce用于数值型变量 coalescec用于字符型变量
var=coalescec(var1,var2,var3);返回var1,var2,var3 中第一个非空值