如何在Matlab中获取文件夹中的文件名结构

How to get filename structure in a folder in Matlab

我正在用 Matlab 设计 GUI,

我有一个名为 sth 的文件夹。它包含许多具有相同结构的文件,例如

filename_1_something.mat
filename_2_something.mat

为了通过索引选择来遍历文件名,我需要找到这样的结果字符串;

filename_%d_something.mat

所以我不需要读取目录中的所有文件。两个文件名足以比较字符串并找到不同的 char 数组项并更改 %d

或任何与此不同的东西也很感激。

使用@rock321987 提供的正则表达式 -

 names = dir('*.mat');
 num = length(names);
 expression = '\w*_\d+_\w*\.mat';
 for n = 1:num
    str = names(n).name;
    nameList{n} = regexp(str,expression,'match')
 end

工作于:

test_1_something.mat
test_10_something.mat

将正则表达式更改为 \w*_\w*\.mat

适用于

test_1.mat
1_test.mat
test_1_something.mat
test_10_something.mat

但也适用于任何由下划线连接的字符串 .mat