Функция strfind () в Octave не находит двойной новой строки в текстовом файле - PullRequest
0 голосов
/ 31 марта 2020

Я пытаюсь выполнить часть кода в Octave, которая должна найти двойную строку в текстовом файле (.txt)

ТАК сначала код получает содержимое файла:

fid = fopen(filename);
if fid
    file_contents = fscanf(fid, "%c", inf);
    fclose(fid);
else
    file_contents = '';
    fprintf('Unable to open %s\n', filename);
end

end

чем у меня есть этот фрагмент кода, который должен найти любую двойную строку в тексте и избавиться от части, которая находится перед первой двойной строкой (которая является заголовком)

hdrstart = strfind(file_contents, [ char(10) char(10)]);
file_contents = file_contents(hdrstart(1):end); 

Когда я выполнить вторую часть, я получаю эту ошибку ошибка: hdrstart (1): вне границы 0

Это означает, что мой вектор "hdrstart" пуст, поэтому функция strfind () не находит любой \ n \ n (который я знаю, что есть!)

Любые идеи, где проблема может быть? Заранее спасибо за вашу поддержку.

Редактировать:

Сбой для этого образца текстового файла:

"Заголовок

Это начало ядра электронной почты конец электронной почты «

...