issues of Sensitive in 'dir' function
21 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
There is a file named abc.m, but I'm not sure the name is abc.m or Abc.m.
How to determine the true name of file?
I have a test with the true name of file is abc.m
a=dir('abc.m') %a.name=abc.m
and
b=dir('Abc.m') %b.name=Abc.m,
So, I don't know how to deal this question.
1 Kommentar
Akzeptierte Antwort
Jan
am 28 Jan. 2013
Bearbeitet: Jan
am 9 Okt. 2015
d = dir('*.m');
match = strcmpi({d.name}, 'abc.m'); % [EDITED] strcmp*i*
Name = d(match).name;
1 Kommentar
Paul Martin
am 9 Okt. 2015
I think the correct function is case-insensitive string comparison with strcmpi:
match = strcmpi({d.name}, 'abc.m')
Weitere Antworten (1)
Azzi Abdelmalek
am 28 Jan. 2013
Bearbeitet: Azzi Abdelmalek
am 28 Jan. 2013
d=dir('*.m');
f1=char(d.name);
f=upper(f1);
idx=find(cellfun(@(x) isequal(x,upper('Abc.m')),cellstr(f)));
out=f1(idx,:)
1 Kommentar
Jan
am 28 Jan. 2013
There is no reason to convert the names into a CHAR matrix f1. Instead of ISEQUAL inside a CELLFUN, STRCMPI compares directly.
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!