如何使用matlab搜索文本文件中的特定单词?

时间:2014-02-12 10:52:15

标签: matlab text-processing text-parsing textscan

我需要在matlab中编写一个程序,在文本文件中搜索关键词,然后读取这些词之后的内容,然后继续搜索。我试图使用fscanf或textscan但我必须遗漏某些东西

我有一个文本文件,内容如下:

Maria, female,24,married
       born in USA

George, male,32,married
        born in Germany    

乔治名字前面有一个空行。 例如,我想阅读Maria,然后阅读Maria之后的内容,直到空行。

1 个答案:

答案 0 :(得分:4)

您可以使用textscan读取整个文件,搜索关键字,提取找到的行,然后将此行连接到下一行。

以下是一个示例,查找Maria

fid = fopen('textfile.txt','r')
C = textscan(fid, '%s','Delimiter','');
fclose(fid)
C = C{:};

Lia = ~cellfun(@isempty, strfind(C,'Maria'));

output = [C{find(Lia)} ',' C{find(Lia)+1}]

给出了

Maria, female,24,married,born in USA