Using wildcards in dir only for strings

27 views (last 30 days)
Cl on 27 Oct 2014
Answered: Anand Swaroop on 7 Dec 2021
I have a set of files named
etc. I need to loop through them all and find the files with the specified number, so my initial thought was to use
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?

Answers (1)

Anand Swaroop
Anand Swaroop on 7 Dec 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({}, ['[a-zA-Z]+' num2str(number,'%d') '[a-zA-Z.]+'], 'match');
% Removing empty cells
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


Find more on File Operations in Help Center and File Exchange


Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by