MATLAB 读取数据 怎么跳过空格 和 空行

比如说我有文件test1.txt
内容是

********

aaa 123

bbb 456 eee

ccc

233 13e-4 -5e13 4
333 13e-4 3e13 -4
-233 13e-4 -1e13 4

之类的

现在希望读取开头为数字那一行的所有数据:即从233开始,形成一个矩阵。


[233,13e-4,-5e13,4;
333,13e-4,3e13,-4;
-233,13e-4,-1e13,4]

因为文件有很多,无法判断从我想要的数据是从第几行开始,所以只有靠“开头为数字那一行”作为判断标准。但是我要的那几行开头又是空格,所以想请教怎么跳过这些空格?程序模板大概是下面这样(当然如果有其他可用程序也行).谢谢高手

fidin=fopen('test2.txt'); % 打开test2.txt文件
fidout=fopen('mkmatlab.txt','w'); % 创建MKMATLAB.txt文件
while ~feof(fidin) % 判断是否为文件末尾
tline=fgetl(fidin); % 从文件读行
if double(tline(1))>=48&&double(tline(1))<=57 % 判断首字符是否是数值
fprintf(fidout,'%s\n\n',tline); % 如果是数字行,把此行数据写入文件MKMATLAB.txt
continue % 如果是非数字继续下一次循环
end
end
fclose(fidout);
MK=importdata('MKMATLAB.txt'); % 将生成的MKMATLAB.txt文件导入工作空间,变量名为MK,实际上它不显示出来
>> MK

第1个回答  推荐于2016-07-17
你可以使用strtrim函数,这样:
tline=fgetl(fidin);
tline=strtrim(tline);
用help看一下strtrim的用法,它类似于vb中的trim,不过只能去掉空格本回答被提问者采纳
相似回答