Как я могу найти текстовый файл для конкретных слов, используя 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