数量,MATLAB代码统计字符串中单词数量"/>
matlab 计算数量,MATLAB代码统计字符串中单词数量
这是一个经常会用到的功能,尤其是在进行文本分析时。
如果这些单词本身是数字,是很容易做到的:使用str2num函数将字符串转换为数值数组,数组的大小就是单词的数量了。
但对于字符型的单词,上面就搞不定了。网上有不少代码,但大多数都不健壮,对于两个单词之间有多个空格便会失效。下面的算法是参考网上的一个例子写的,初步测试非常健壮。function [counter] = count_words(string)
% counter the number of words in a string
%
% Email: xianbao.d # gmail
% Website: /
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% log:
% 2012-12-19: Complete
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% remove whitespace from the front and rear of string
string = strtrim(string);
% count words
counter = 0;
while ~isempty(string)
[~, string] = strtok(string);
counter = counter + 1;
end
这里主要是用到了strtok函数,具体你可以help一下,大致就是将一个字符串以某一个标志分成两截,默认是空格。
这里统计的是一个字符串的单词数量,如果你要统计一个文件中单词的数量,只需要对文件的每一行使用这个函数,然后累加即可。
更多推荐
matlab 计算数量,MATLAB代码统计字符串中单词数量
发布评论