这个sysfunc调用出了什么问题?
%let mystring = hello world;
%let mycount = %sysfunc(count(&mystring, 'hello'));
%put &mycount;
输出
[PUT] 0
答案 0 :(得分:3)
因为你在datastep之外,所以hello
周围不需要引号(引号是字符串的一部分,而不是它的分隔符)。
所以这应该有效:
%let mystring = hello world;
%let mycount = %sysfunc(count(&mystring, hello));
%put &mycount;
再举一个例子来说明这里发生了什么, 这也会打印1:
%let mystring = 'hello' world;
%let mycount = %sysfunc(count(&mystring, 'hello'));
%put &mycount;