SAS Function COUNTW - 使用自定义分隔符时如何计算包含 NULL 值的单词?

SAS Function COUNTW - how to count word including NULL value when using customised delimiter?

尝试使用函数 COUNTW 获取字符串中 "words" 的数量。 但是这个字符串在逗号分隔时有时可能包含 NULL 值;

我找到了一些可以做到这一点的自定义宏,只是想知道我是否可以使用内置函数实现相同的功能,例如 COUNTW。

例如:

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

以上是自定义函数,returns7

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

COUNTW returns 6 因为它不计算 2 个逗号 (",") 之间的 NULL

很简单,看在线文档就可以了! COUNTW 有可选的修饰符,其中之一是 M,它告诉函数将连续的定界符作为一个词包含,而不是空值。

下面的代码returns7,不是6。

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