欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-04-15 22:14:48
...

使用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')也可以使用正则表达式来操作,先提取其所在行的数据再做进一步分析。

参考链接:

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

正则表达式的详细描述