Display file names from current directory if more than n characters

2 views (last 30 days)
Hi,
I want to write code that returns the filenames in my current directory, but only those filenames with more than n characters.
My code so far:
directory = dir('*.*'); % specifiy files, leave out folders
% remove the two '.' and '..' folders at the top
if length(directory) >= 3
directory = directory(3:end);
end
But how do I select only those filenames with more than n characters? I thought about setting up a logical vector, but I don't know how to do that. Does anybody have any suggestions?
Many thanks,
Dobs
  2 Comments
Dobs
Dobs on 30 Nov 2021
Edited: Dobs on 30 Nov 2021
Yes, selecting the filenames with more than n characters is actually the goal because it's for an assignment.

Sign in to comment.

Accepted Answer

Stephen23
Stephen23 on 30 Nov 2021
Edited: Stephen23 on 30 Nov 2021
n = 5;
P = 'absolute or relative path to where the files are saved';
S = dir(fullfile(P,'*.*'));
C = {S(~[S.isdir]).name}; % comma-separated lists
X = cellfun(@numel,C)>n;
C = C(X)

More Answers (0)

Community Treasure Hunt

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

Start Hunting!