从文件中拉出线条Matlab

时间:2013-11-09 00:00:54

标签: string matlab while-loop

我想将文件中的每一行拉出来,并使用matlab以某种方式格式化。我已经开始这样做,但我的所有代码仍在做的是拉出第一行并反复重复它。它不会移动到任何其他线上。我不知道如何解决这个问题。这是我的代码。

fid=fopen('suspiciousfile.txt');
myLine=fgetl(fid);
countline=0;
while ischar(myLine)
  strfind('Drexel', myLine)
  countline=countline+1;
  fprintf('Line #%d %s.\n', countline,myLine);
end

1 个答案:

答案 0 :(得分:0)

我认为你是在追求这样的事情:

fid=fopen('suspiciousfile.txt');
countline=0;
myLine=fgetl(fid);
while ischar(myLine)
    countline=countline+1;
    if strfind(myLine, 'Drexel')
        fprintf(1,'Line #%d %s.\n', countline,myLine);
    end
    myLine=fgetl(fid);
end
fclose(fid);

一些注意事项:

  • 您需要在循环中调用fgetl,以便继续阅读新行。
  • 您在strfind(TEXT,PATTERN)
  • 中搜索PATTERN的{​​{1}}参数
  • 如果您只想打印某些行,则需要TEXT声明。
  • 最好在完成后使用if关闭所有打开的文件。