Read file whose name has a pattern that is part of another file name pattern

4 views (last 30 days)
Meir Zeilig Hess
Meir Zeilig Hess on 14 Jan 2022
Commented: Ive J on 14 Jan 2022
I have files with two patterns in their names: "...daily.nc" and "...4xdaily.nc".
Currently I'm using:
filePattern = fullfile(Exp_Path,strcat('*',Sampling_Rate,'.nc'));
ncFiles = dir(filePattern);
with Sampling_Rate being a string (either 'daily' or '4xdaily'), and with Exp_Path being the directory containing the relevant files.
For the "4xdaily" pattern, this works properly, giving me a structure with all the requested files and only them.
When I try to apply this to the the "daily" pattern, I get a structure with both kinds of files (which makes sence, as the string 'daily' is included in the larger string '4xdaily').
Is there a way to obtain only the "daily" files?

Accepted Answer

Ive J
Ive J on 14 Jan 2022
Edited: Ive J on 14 Jan 2022
Try this
files = {dir("*daily.nc").name}.'
{'data1.4xdaily.nc'}
{'data12.daily.nc' }
{'data2.4xdaily.nc'}
{'data3.daily.nc' }
xdailyIdx = endsWith(files, '4xdaily.nc');
xdailyf = files(xdailyIdx)
{'data1.4xdaily.nc'}
{'data2.4xdaily.nc'}
dailyf = files(~xdailyIdx)
{'data12.daily.nc'}
{'data3.daily.nc' }
  2 Comments

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!