Help with Sorting cell

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'

 Accepted Answer

Stephen23
Stephen23 on 4 Jan 2018
Edited: Stephen23 on 4 Jan 2018
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 Comments

yup works thanks for the help
Jan
Jan on 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.
"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.

Sign in to comment.

More Answers (0)

Categories

Asked:

on 4 Jan 2018

Commented:

on 4 Jan 2018

Community Treasure Hunt

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

Start Hunting!