我正在寻找更好的SAS方法来计算某个单词出现在字符串中的次数。例如,搜索字符串中的“木”:单词出现次数的计数
how much wood could a woodchuck chuck if a woodchuck could chuck wood
...将返回2
结果。
这是我通常会做,但它的很多代码:
data _null_;
length sentence word $200;
sentence = 'how much wood could a woodchuck chuck if a woodchuck could chuck wood';
search_term = 'wood';
found_count = 0;
cnt=1;
word = scan(sentence,cnt);
do while (word ne '');
num_times_found = sum(num_times_found, word eq search_term);
cnt = cnt + 1;
word = scan(sentence,cnt);
end;
put num_times_found=;
run;
我可以把这个变成一个fcmp
功能,使其更加优雅,但我仍然觉得自己必须有更友好,更简洁的代码。
我在这里发布了这个而不是codereview,因为我不认为codereview会有任何SAS受众。 –
这不就是countW么? –
@data_null_不 - 这是我第一次想到的,但'countw()'只是计算单词的总数,而不是特定单词出现的次数。 –