对这一问题感到非常沮丧。基本上有一个 txt 文件,其中包含代码行,代码是字母和数字(不同长度)的混合,它们之间没有逗号和空格,即:txt 文件中的一个代码是 X32W21039A23
我需要将它读入一个数字数组/矩阵,以便我可以轻松地操作它,并且我必须用表格中的相应数字替换字母。这是我目前拥有的
fid = fopen('upcs.txt');
mat = [];
if fid == -1
disp('File open was not successful')
else
while feof(fid) == 0
% Read contents of file and store into a matrix
aline = fgetl(fid);
[P] = sscanf(aline, '%s');
if length(A) == 12
mat = [mat P];
end
end
codes =reshape(mat, length(mat)/12, 12)
基本上我已经从 txt 文件中删除了所有不是 12 位数长的行(我可以这样做),并将剩余的行转移到字符数组“mat”中。但是,mat 是一个字符数组,而不是数字数组。我已经尝试过诸如 cell2mat 和 str2num 之类的函数,但无济于事,因为我相信这些代码被视为单元格或字符串,而不是数字。我相信我需要在数组中的字符串之间放置空格。
总而言之,任何人都可以帮助我轻松地将 txt 文件中的代码转换成一种我可以像数字向量一样轻松操作它的方式,即:[1 2 3] 谢谢