Как я могу найти текстовый файл для конкретных слов, используя Matlab?

Мне нужно написать программу в Matlab, которая ищет ключевые слова в текстовом файле, а затем читает то, что следует за этими словами, затем продолжает поиск. Я пытался использовать fscanf или textcan, но я должен что-то упустить

У меня есть текстовый файл, и содержимое выглядит так:

Maria, female,24,married
       born in USA

George, male,32,married
        born in Germany    

Пустая строка перед именем Джордж. Например, я хочу прочитать Марию, а затем прочитать то, что следует за словом Мария, до пустой строки.

1 ответ

Решение

Ты можешь использовать 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
Другие вопросы по тегам