Extract .txt files from a list

Hi,
I am trying to extract .txt files from a list of files I created into a cell array. From there I want to put them in a directory that feeds into a loop. Can you help please?
Thanks

3 Comments

doc fileparts
should help. Just test the 'ext' output from that with '.txt' for each file in your array.
Yes, and notice that the ext will include the '.' so Adam is correct in saying to compare against '.txt' rather than 'txt'
Ok, can I apply this to a struct and put them into a folder to create a directory folder?

Sign in to comment.

 Accepted Answer

If YourCell is a cell array of strings that represent file names, then
is_txt_file = ~cellfun(@isempty, regexp(YourCell, '\.txt$'));
this will give you a logical vector that you can use such as
txtFileNames = YourCell(is_txt_file);
After that you can process them however you like.
If what you have is a dir() result and you want to pick out the txt files from that, then supposing DirInfo is the directory structure,
YourCell = {DirInfo.name};
is_txt_file = ~cellfun(@isempty, regexp(YourCell, '\.txt$'));
txtDirInfo = DirInfo(is_txt_file);

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!