What do I have to do to sort strings properly in Listbox?

4 visualizaciones (últimos 30 días)
Haksun Lee
Haksun Lee el 18 de Jun. de 2012
Comentada: Stephen23 el 8 de Feb. de 2024
Hi,
While I try to figure this out, I have problems again..
To sort strings in listbox,
e.g.,I have strings below! 'p1' 'p2' 'p10' 'p12' 'p21'
To sort those strings, I tried to use sort(),
and then, result was like this..
'p1' 'p10' 'p12' 'p2' 'p21'
%%%% :-( %%%%
But, I want to sort A as, 'p1' 'p2' 'p10' 'p12' 'p21'
What do I have to do for this?
I'm looking forward to your answer!
  5 comentarios
Geoff
Geoff el 25 de Jun. de 2012
Oh... probably... Meh, well, I'll stop being a grump and hack it out quickly again.
Haksun Lee
Haksun Lee el 25 de Jun. de 2012
There was some misunderstanding..
Have a nice day everyone..
But I have to figure this out T.T
- Newbie programmer, H.S Lee

Iniciar sesión para comentar.

Respuesta aceptada

Geoff
Geoff el 25 de Jun. de 2012
Don't ask the same question just because nobody answered it yesterday. If you are impatient, write a comment on it to bump it back up. People occasionally check through old questions to see what hasn't been answered. That's also a reason to accept answers - so people who do look back on old questions know not to check those that are already accepted.
Now... code, with no explanation this time.
A = {'p1', 'p10', 'p12', 'p2', 'p21'};
N = cellfun( @str2double, regexp(A, '\d+', 'match') )
[~,I] = sort(N);
B = A(I);
  8 comentarios
Soroush Asarzadeh
Soroush Asarzadeh el 20 de Feb. de 2016
@Walter thanks, it works now! @Stephan thank u for your answer
Stephen23
Stephen23 el 8 de Feb. de 2024
Note that Walter Roberson's approach from 25 Jun 2012 can be made to work with the addition of the 'once' option (and this is indeed more efficient than calling STR2DOUBLE inside CELLFUN):
A = {'p10=34', 'p4=10', 'p2=11', 'p3=90', 'p21=55'};
N = str2double(regexp(A, '\d+', 'match', 'once'))
N = 1x5
10 4 2 3 21

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements 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