Reorder a Cell arrays

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

 Respuesta aceptada

Fangjun Jiang
Fangjun Jiang el 22 de Jul. de 2011

0 votos

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)

Más respuestas (1)

Jason
Jason el 22 de Jul. de 2011

0 votos

OK, I think i can use
sort(fname)

1 comentario

Jason
Jason el 22 de Jul. de 2011
Nope didn't work it put 1,10,1,2,3,4... and so on.

Iniciar sesión para comentar.

Categorías

Etiquetas

Preguntada:

el 22 de Jul. de 2011

Community Treasure Hunt

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

Start Hunting!

Translated by