首页 > 解决方案 > Octave 中的函数 strfind() 未在文本文件中找到双换行符

问题描述

我正在尝试在 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): out of bound 0

这意味着我的“hdrstart”向量是空的,所以 strfind() 函数没有找到任何 \n\n (我知道有!)

问题可能出在哪里?预先感谢您的支持。

编辑:

此文本文件示例失败:

“标题

这是电子邮件核心的开始 电子邮件结束"

标签: stringoctave

解决方案


推荐阅读