我有一个巨大的txt,每行中有一些用空格分隔的字符串。每行可能有不同数量的字符串。
示例:
row1 str1 str2 str3 str4
row2 str1
row3 str1 str2 str3
我试图将此文件不是从命令行导入到单元格数组中,但它非常慢。我们可以用命令行吗?它会更快吗?
感谢。
答案 0 :(得分:2)
获取列单元格数组中的所有字符串
fid = fopen('filename.txt');
s = textscan(fid,'%s');
s = s{1};
对于您的示例,这将返回以下11x1单元格数组:
s =
'row1'
'str1'
'str2'
'str3'
'str4'
'row2'
'str1'
'row3'
'str1'
'str2'
'str3'
获取单元格数组的单元格数组中的所有字符串,保留列数
A = importdata('tmp.txt');
s = cell(numel(A),1);
for n = 1:numel(A)
s{n} = regexp(A{n}, ' ', 'split')
end
给出
s =
{1x5 cell} {1x2 cell} {1x4 cell}
这样
s{1}
ans =
'row1' 'str1' 'str2' 'str3' 'str4'
等