Hi i have the following cell test
'Apr1'
'Apr10'
'Apr11'
'Apr12'
'Apr13'
'Apr14'
'Apr15'
'Apr17'
'Apr18'
'Apr19'
'Apr20'
'Apr21'
'Apr22'
'Apr23'
'Apr24'
'Apr25'
'Apr29'
'Apr30'
'Apr8'
'Apr9'
can someone tell me how to sort it so that I get the following result
'Apr1'
'Apr8'
'Apr9'
'Apr10'
'Apr11'
'Apr12'
'Apr13'
'Apr14'
'Apr15'
'Apr17'
'Apr18'
'Apr19'
'Apr20'
'Apr21'
'Apr22'
'Apr23'
'Apr24'
'Apr25'
'Apr29'
'Apr30'

 Réponse acceptée

Stephen23
Stephen23 le 4 Jan 2018
Modifié(e) : Stephen23 le 4 Jan 2018

1 vote

Download my FEX submission natsort, and simply use it like this:
test = natsort(test)
where test is your cell array. You might also be interested in natsortfiles, which is written specifically for sorting filenames and path names.

3 commentaires

sc1991
sc1991 le 4 Jan 2018
yup works thanks for the help
Jan
Jan le 4 Jan 2018
+1. This is a smart and nice solution. It would be even nicer to avoid the problem by using 'Apr01' instead of 'Apr1': Then sort is sufficient. But this was not part of the question.
Stephen23
Stephen23 le 4 Jan 2018
"It would be even nicer to avoid the problem by using 'Apr01' instead of 'Apr1': Then sort is sufficient"
Correct. Using ISO 8601 date formats also has the same advantage.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by