0

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

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

Maria, female,24,married
       born in USA

George, male,32,married
        born in Germany    

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

4

1 回答 1

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
于 2014-02-12T12:08:11.217 回答