sas中anyalnum函数

Anyalnum函数的应用 Scanning a String from Left to Right;
data _null_;
string='Next = Last + 1';
j=0;
do
until(j=0);
j=anyalnum(string,j+1);
if j=0 then put +3
"That's all";
else
do;
c=substr(string,j,1);
put +3
j= c=;
end;
end;
run;
The following lines are written to the SAS log:
j=1 c=N j=2 c=e j=3 c=x j=4 c=t j=8 c=L j=9 c=a j=10 c=s j=11 c=t j=15 c=1 That's all。
这个程序有点看不明白,为什么j后来会等0呢?

anyalnum(string, j+1)返回string中从j+1位置开始第一个字母或者数字的位置。当j+1的长度大于string的长度时,返回0,并赋值到j
温馨提示:内容为网友见解,仅供参考
无其他回答

SAS常用函数
anyalpha(变量,<起始位置>) :查找变量中任意字母,并返回第一字母的位置。anydigit(变量,<起始位置>) :查找变量中任意数字,并返回第一数字的位置。anyalnum(变量,<起始位置>) :查找变量中任意字母或数字,并返回第一字母或数字的位置。 (4) 替换变量中的字符 transwrd(变量,查找值...

相似回答