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

Matlab新手求助:按文件名分类Tp/Ts系列文本文件

Matlab文本文件分类实现方案

步骤1:获取目标文件列表

先获取当前目录下所有.txt文件的名称:

allFiles = dir('*.txt');
fileNames = {allFiles.name};

步骤2:初始化分组存储容器

创建四个空数组,分别存储四个类别的文件名:

tp_angle1 = {};
ts_angle1 = {};
tp_angle2 = {};
ts_angle2 = {};

步骤3:遍历文件完成分类

利用正则表达式匹配文件名结构,自动归类:

for i = 1:length(fileNames)
    name = fileNames{i};
    % 匹配Tp/Ts开头、包含angle1/angle2、末尾是数字+txt的文件名
    matches = regexp(name, '^(Tp|Ts)_(angle[12])_\d+\.txt$', 'tokens');
    if ~isempty(matches)
        prefix = matches{1}{1};
        angle = matches{1}{2};
        
        switch [prefix, '_', angle]
            case 'Tp_angle1'
                tp_angle1{end+1} = name;
            case 'Ts_angle1'
                ts_angle1{end+1} = name;
            case 'Tp_angle2'
                tp_angle2{end+1} = name;
            case 'Ts_angle2'
                ts_angle2{end+1} = name;
        end
    end
end

可选:将文件物理归类到对应文件夹

如果需要把文件实际移动到分类文件夹,执行以下代码:

% 创建分类文件夹(不存在则新建)
folders = {'Tp_angle1', 'Ts_angle1', 'Tp_angle2', 'Ts_angle2'};
for folder = folders
    if ~exist(folder{1}, 'dir')
        mkdir(folder{1});
    end
end

% 移动文件到对应文件夹
movefile(tp_angle1, 'Tp_angle1');
movefile(ts_angle1, 'Ts_angle1');
movefile(tp_angle2, 'Tp_angle2');
movefile(ts_angle2, 'Ts_angle2');

注意事项

  • 运行代码前建议先执行前三个步骤,通过disp(tp_angle1)等命令确认分组正确,再执行移动操作
  • 如果你的angle命名不是angle1/angle2而是其他格式(比如angle30),只需修改正则表达式中的angle[12]为对应的匹配规则即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 14:11:29