Using wildcards in dir only for strings
6 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I have a set of files named
abc1.mat
yhs2.mat
slk3.mat
etc. I need to loop through them all and find the files with the specified number, so my initial thought was to use
dir('*',number,'*')
but this causes a problem when the numbers reach double figures. So if I search for 1, I will get 1, 10, 11, 12 etc. Is there any way of searching for just the number and removing those that I would not want?
0 Kommentare
Antworten (1)
Anand Swaroop
am 7 Dez. 2021
To filter out file which has a number supposed to match exactly (not partially).
We can try below code snippet.
% Your search criteria
filelist = dir(['*' num2str(number,'%d') '*']);
% Using regex to match exact number
filename = regexp({filelist.name}, ['[a-zA-Z]+' num2str(number,'%d') '[a-zA-Z.]+'], 'match');
% Removing empty cells
filename(~cellfun('isempty',filename))
When we are using dir(),we cannot do much solely using wild characters. So, we must use some alternate solution. Hope this will solve your problem.
Best Regards,
Anand Swaroop
0 Kommentare
Siehe auch
Kategorien
Mehr zu File Operations finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!