我需要在matlab中编写一个程序,在文本文件中搜索关键词,然后读取这些词之后的内容,然后继续搜索。我试图使用fscanf或textscan但我必须遗漏某些东西
我有一个文本文件,内容如下:
Maria, female,24,married
born in USA
George, male,32,married
born in Germany
乔治名字前面有一个空行。 例如,我想阅读Maria,然后阅读Maria之后的内容,直到空行。
答案 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