我正在使用Matlab设计GUI,
我有一个名为filename_1_something.mat
filename_2_something.mat
的文件夹。它包含许多具有相同结构的文件,如
filename_%d_something.mat
为了通过选择via index来遍历文件名,我需要找到这样的结果字符串;
%d
所以我不需要读取目录中的所有文件。其中两个文件名足以比较字符串并找到不同的char数组项并按$_SERVER
更改。
或者与此不同的任何事情也表示赞赏。
答案 0 :(得分:1)
使用@ 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