我正在尝试使用以下代码来计算文件中整个单词“the”的数量。它为“the”的数量保持返回零。我该怎么做才能做到这一点?
totalthe=length(regexp(strcat(lines{:}),'\bthe\b'))
答案 0 :(得分:1)
对不起,事实证明我可能在之前的回答中误导了你。结果是MATLAB的单词边界为\<
和\>
(分别为开始和结束单词边界)而不是\b
。我今天也学到了新东西。
请注意,这比使用\s
(空格)更可取,否则您可能会错过该行开头和结尾的匹配项。
答案 1 :(得分:0)
总结所有评论:
totalthe=length(regexpi(strvcat(lines{:}),'\<the\>'))
strvcat
代替strcat
以阻止前导The
不会停留在上一行末尾的单词。
答案 2 :(得分:0)
我们根据其他答案,评论和一些反复试验来实现:
假设这些是你的行:
lines = {'In the cell on the island'; 'there is the man.';'The end'}
然后这将计算'the'的出现,不区分大小写:
x = regexpi(lines,'\<the\>')
numel([x{:}])