我正在尋找更好的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()'只是計算單詞的總數,而不是特定單詞出現的次數。 –