0

我有一个包含两列数据的文本文件。我想拆分这个文件并将其保存为matlab中的两个单独的字符串,但是当我遇到数据中的标识符时我还需要停止复制数据,然后统计两个新字符串。

例如

H 3

7楼

BB

分裂

<>

SPLIT <> 是我要结束当前字符串的位置。

我正在尝试使用 fopen 和 fscanf,但努力让它做我想做的事。

4

1 回答 1

0

我在您提供的示例上尝试了以下脚本并且它有效。我相信这些评论是不言自明的。

% Open text file.
fid = fopen('test.txt');

% Read the first line.
tline = fgetl(fid);

% Initialize counter.
ii = 1;

% Check for end string.
while ~strcmp(tline, 'SPLIT')

    % Analyze line only if it is not an empty one.
    if ~strcmp(tline, '')

        % Read the current line and split it into column 1 and column 2.
        [column1(ii), column2(ii)] = strread(tline, ['%c %c']);

        % Advance counter.
        ii = ii + 1;
    end

    % Read the next line.
    tline = fgetl(fid);
end

% Display results in console.
column1
column2

% Close text file.
fclose(fid);

这里的关键函数是fgetlstrread。看看他们的文档,它也有一些非常好的例子。希望能帮助到你。

于 2013-10-21T11:00:04.450 回答