Changing the ASCII sort order format?

1 visualización (últimos 30 días)
Zeynab Mousavikhamene
Zeynab Mousavikhamene el 2 de Nov. de 2019
Respondida: Stephen23 el 2 de Nov. de 2019
I use
S = orderfields(S1)
to sort order fields of strucutre array. I have 10 files named 1.jpg, 2.jpg upto 10.jpg. After using orderfiled the result is: 1.jpg, 10.jpg, 2.jpg, ...., 9.jp
I need to have 10 after 9. Any idea?

Respuestas (2)

Walter Roberson
Walter Roberson el 2 de Nov. de 2019
struct arrays cannot have fields with those names -- only table objects can have fields with those names (R2019b onwards only.) Therefore the question is not relevant. You need to sort contents not field names. I discussed how to sort contents in response to your previous related question https://www.mathworks.com/matlabcentral/answers/488816-sort-the-dir-loaded-files
  2 comentarios
Zeynab Mousavikhamene
Zeynab Mousavikhamene el 2 de Nov. de 2019
@ Walter Roberson Thanks a ton Walter. Why struct arrys cannot have fields with those names? I am having struct array with those names and it looks ok just having problem with their sorting style.
Stephen23
Stephen23 el 2 de Nov. de 2019
"Why struct arrys cannot have fields with those names?"
The MATLAB documentation states "Field names, like variable names, must begin with a letter, can contain letters, digits, or underscore characters, and are case sensitive"
Your names start with digits (not a letter as the documentation requires) and contains a period character (not a permitted character).

Iniciar sesión para comentar.


Stephen23
Stephen23 el 2 de Nov. de 2019
To sort filenames into the order that you want download my FEX submission natsortfiles:
You can find plenty of examples in the HTML help, the Mfile help, and the online description.

Categorías

Más información sobre Structures en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by