Help with Sorting cell

1 view (last 30 days)
sc1991
sc1991 on 4 Jan 2018
Commented: Stephen23 on 4 Jan 2018
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
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.
Stephen23
Stephen23 on 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.

Sign in to comment.

More Answers (0)

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!