0

我想提取文件中包含某个单词的每一行,并使用 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
4

1 回答 1

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的参数TEXT
  • 如果您只想打印某些行,则需要一个if语句。
  • 完成后关闭任何打开的文件是一种很好的做法fclose
  • 于 2013-11-09T00:44:56.027 回答