Currently my method of outputing directory files to a listbox is:
dir_struct = dir(pwd)
[sorted_names,sorted_index] = sortrows({dir_struct.name}');
handles.file_names = sorted_names;
set(handles.files,'String',handles.file_names,'Value',1)
When getting the sorted_names I want to exclude certain files. Let's say files containing 'include' should be included, /w 'exclude' not.
I was thinking about using regexp. Suggestions?

1 件のコメント

Robert Worm
Robert Worm 2018 年 8 月 23 日
Just giving this a push.

サインインしてコメントする。

 採用された回答

Jan
Jan 2018 年 8 月 23 日
編集済み: Jan 2018 年 8 月 23 日

0 投票

Replace
[sorted_names,sorted_index] = sortrows({dir_struct.name}');
by the simpler:
sorted_names = sort({dir_struct.name});
Now you want to exlucde names, which contain the substring 'exclude'?
sorted_names(contains(sorted_names, 'exclude')) = [];
Or include files, whose name contains 'include':
sorted_names = sorted_names(contains(sorted_names, 'include'));
With older Matlab versions before contains was available, use:
function T = myContains(Str, Key)
T = ~cellfun('isempty', strfind(Str, Key));
end

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeFile Operations についてさらに検索

質問済み:

2018 年 8 月 21 日

編集済み:

Jan
2018 年 8 月 23 日

Community Treasure Hunt

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

Start Hunting!

Translated by