You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MATLAB中如何按正则表达式提取文件中指定整行数据?

MATLAB提取指定前缀开头行的两种输出格式解决方案

前提步骤:读取文件内容

先将目标文件内容读取到MATLAB中:

fileContent = fileread('your_file.txt'); % 替换为实际文件名

方案1:输出单个字符串形式的单元格数组

提取所有以IT开头的行中,IT之后的完整数值字符串,生成每个元素为整行数值的单元格数组:

% 匹配行首的IT,捕获后续所有内容
itLinesSingle = regexpi(fileContent, '^IT\s+(.*)$', '$1', 'lineanchors', 'match');
% 去除每个字符串首尾的多余空格
itLinesSingle = cellfun(@strtrim, itLinesSingle, 'UniformOutput', false);

执行后,itLinesSingle的输出形式如下:

{'3.10000E-01 1.12000E-01 1.00000E+01'}
{'3.10000E-01 1.18000E-01 0.90000E+01'}
{'3.20000E-01 1.1000E-01 1.00000E+01'}

方案2:输出拆分后的二维单元格数组

将每行的数值拆分后,生成每行对应单个数值的二维单元格数组:

% 先提取IT行的数值字符串部分
itLinesRaw = regexpi(fileContent, '^IT\s+(.*)$', '$1', 'lineanchors', 'match');
% 拆分每个字符串为单独的数值单元格
itLinesSplit = cellfun(@(x) strsplit(strtrim(x)), itLinesRaw, 'UniformOutput', false);
% 转换为二维单元格数组
itLinesSplit = vertcat(itLinesSplit{:});

执行后,itLinesSplit的输出形式如下:

{'3.10000E-01'} {'1.12000E-01'} {'1.00000E+01'}
{'3.10000E-01'} {'1.18000E-01'} {'0.90000E+01'}
{'3.20000E-01'} {'1.10000E-01'} {'1.00000E+01'}

内容的提问来源于stack exchange,提问作者ID P

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 13:01:41