使用MATLAB提取文本文件txt text中指定行的数据 数值 指定内容的数值

需要提取590行的最后一个数值,用作分析建模作用,matlab实现代码如下。

1. 提取该行的数据保存为文字数组

name = textFileName;
fidin = fopen(name,'r');
nline = 0;
while ~feof(fidin)
    tline = fgetl(fidin);% read the text file by rows
    nline = nline + 1;
    if nline == geo_line % ensure the correct rows can be find and extract
        geo = tline;
    end
    if nline == tex_line
        tex = tline;
    end
end

这里将geo_line tex_line设置为想要提取的行数即可,输出结果geo tex便是指定行的文本内容。

2. 利用正则表达式将文本内容中的数值数据提取出来

geo_valuses = regexp(geo,'\d*\.?\d*','match');% extract numbers in string 正则表达式
tex_valuses = regexp(tex,'\d*\.?\d*','match');
geo_psnr = geo_valuses{end};
tex_psnr = tex_valuses{end};

geo_values便是含有六个元素的元胞数组,其中最后一个便是需要的数据,但是是以文本类型表示的,根据需要可进行类型转换。

PS: 如果需要提取指定字段(eg 'Total Frames')也可以使用正则表达式来操作,先提取其所在行的数据再做进一步分析。

参考链接:

提取指定字段后的一行数据

正则表达式的详细描述

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值