MATLAB: Listing folders in directory with specific strings

matching dirnamesmatching strings

I have a directory full of folders. I want to only list (and count) those with a specific naming format that starts with a numerical string and not any other folders in that directory. How can I do this? for example: FolderA contains these subfolders
180705-France, 180705-Germany, refdata
I want to list and count only the folders under folder A that start with a numeric string. In this case, the list should return '180705-France' and '180705-Germany', and a length(dirlist) should return 2.
something like,
pathn =['D:\FolderA'];
list= dir([pathn '\1*']);
len =length(list);
would work, but I need it to work for any folder whose name begins with numbers 0-9.
I tried using regexp but couldn't figure out how to get it to work. If I figure it out, I'll post it here, but I'm sure someone already knows how to do this….thanks.

Best Answer

You can work around it with a dos command:
[status,cmdout] = dos("dir *")
list = regexp(cmdout,'\d{6}-[A-Za-z]+','match');
len =length(list);
or alternatively:
s = dir;
list =regexp({s.name},'\d{6}-[A-Za-z]+','match');
len = length(find(~cellfun(@isempty,list)));