如何使用 matlab 在文本文件中搜索特定单词的计数?
How can I search a text file for Count specific words using matlab?
我需要在 matlab 中编写一个程序来搜索文本文件中的特定关键词,然后计算文本中该特定词的数量。
Matlab 实际上有一个函数 strfind
可以为您做这件事。查看 Mathworks doc 了解更多详情。
文本文件的内容应该存储在一个变量中:
text = fileread('filename.txt')
首先看看如何使用 Matlab 读取文本文件,然后使用 textscan
函数将整个数据读入元胞数组,该函数是 Matlab 中的内置函数,并将数组的每个元素与使用 strcmp
.
的特定关键字
我提供了一个将文件名和关键字作为输入并输出文件中存在的关键字计数的函数。
function count = count_word(filename, word)
count = 0; %count of number of specific words
fid = fopen(filename); %open the file
c = textscan(fid, '%s'); %reads data from the file into cell array c{1}
for i = 1:length(c{1})
each_word = char(c{1}(i)); %each word in the cell array
each_word = strrep(each_word, '.', ''); %remove "." if it exixts in the word
each_word = strrep(each_word, ',', ''); %remove "," if it exixts in the word
if (strcmp(each_word,word)) %after removing comma and period (if present) from each word check if the word matches your specified word
count = count + 1; %increase the word count
end
end
end
我需要在 matlab 中编写一个程序来搜索文本文件中的特定关键词,然后计算文本中该特定词的数量。
Matlab 实际上有一个函数 strfind
可以为您做这件事。查看 Mathworks doc 了解更多详情。
文本文件的内容应该存储在一个变量中:
text = fileread('filename.txt')
首先看看如何使用 Matlab 读取文本文件,然后使用 textscan
函数将整个数据读入元胞数组,该函数是 Matlab 中的内置函数,并将数组的每个元素与使用 strcmp
.
我提供了一个将文件名和关键字作为输入并输出文件中存在的关键字计数的函数。
function count = count_word(filename, word)
count = 0; %count of number of specific words
fid = fopen(filename); %open the file
c = textscan(fid, '%s'); %reads data from the file into cell array c{1}
for i = 1:length(c{1})
each_word = char(c{1}(i)); %each word in the cell array
each_word = strrep(each_word, '.', ''); %remove "." if it exixts in the word
each_word = strrep(each_word, ',', ''); %remove "," if it exixts in the word
if (strcmp(each_word,word)) %after removing comma and period (if present) from each word check if the word matches your specified word
count = count + 1; %increase the word count
end
end
end