Reorder a Cell arrays
5 views (last 30 days)
Show older comments
Hi. I am using uiget with multiselect to perform an operation on several text files. I assign the cell aray fname as below.
[fname,pname]=uigetfile('*.txt','select the Miscall Matrix files', 'MultiSelect', 'on',startpname);
My text files are always number are always of the form *1.txt to **12.txt and it always puts the last file first in the cell array. Is there a quick way to reorder the cell array "fname" Thanks
0 Comments
Accepted Answer
Fangjun Jiang
on 22 Jul 2011
Yep. This is pretty common. You need to do some processing.
fname={'abc3.txt','abc2.txt','abc1.txt','abc10.txt','abc12.txt'};
Num=regexp(fname,'\d+','match');
Num=char(cellfun(@cell2mat,Num,'uni',false));
[Num,Index]=sort(str2num(Num));
fname=fname(Index)
0 Comments
More Answers (1)
See Also
Categories
Find more on Shifting and Sorting Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!