SAS函数COUNTW-如何在使用自定义分隔符时计算包含空值的单词?

SAS函数COUNTW-如何在使用自定义分隔符时计算包含空值的单词?,sas,sas-macro,Sas,Sas Macro,尝试使用函数COUNTW获取字符串中的“单词”数。 但当该字符串以逗号分隔时,它有时可能包含空值 我发现一些自定义宏可以做到这一点,只是想知道我是否可以实现同样的内置函数,例如COUNTW 例如: %put%wordcount('abc,,def,,56j,type',DLM=%str(,) 上面是一个自定义函数,它返回7 %put%sysfunc(countw('abc',def',56j,type',%str(,)) COUNTW返回6,因为它不计算两个逗号(“,”)之间的空值。非常简单,只

尝试使用函数
COUNTW
获取字符串中的“单词”数。 但当该字符串以逗号分隔时,它有时可能包含空值

我发现一些自定义宏可以做到这一点,只是想知道我是否可以实现同样的内置函数,例如COUNTW

例如:

%put%wordcount('abc,,def,,56j,type',DLM=%str(,)

上面是一个自定义函数,它返回7

%put%sysfunc(countw('abc',def',56j,type',%str(,))


COUNTW
返回6,因为它不计算两个逗号(“,”)之间的空值。

非常简单,只需查看在线文档即可
COUNTW
具有可选的修饰符,其中一个修饰符是
M
,它告诉函数将连续分隔符作为一个单词包含,而不是null

下面的代码返回7,而不是6

%put %sysfunc(countw('abc, , ,def,,56j,type',%str(,),M));

谢谢我一定是在检查文档时漏掉了它!浏览页面时,我一直在寻找空值或缺失。很抱歉在文档页面上写得这么清楚时问这个问题!