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

比如说我有文件test1.txt内容是********aaa123bbb456eeeccc23313e-4-5e13433313e-43e13-4-23313e-4-1e... 比如说我有文件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
展开
 我来答
tanarri
推荐于2016-07-17 · TA获得超过1.1万个赞
知道大有可为答主
回答量:5123
采纳率:33%
帮助的人:8170万
展开全部
你可以使用strtrim函数,这样:
tline=fgetl(fidin);
tline=strtrim(tline);
用help看一下strtrim的用法,它类似于vb中的trim,不过只能去掉空格
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式