Info
Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.
sort a string based on particular value
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Hello All,
i have a list of type
ch = { 'temp_25_vgs_8', 'temp_25_vgs_3', 'temp_25_vgs_9', 'temp_25_vgs_10', 'temp_20_vgs_8', 'temp_20_vgs_5', 'temp_25_vgs_5'};
i need to sort it based on vgs value (or both vgs and temp) and get back the list as
ch = { 'temp_20_vgs_5',
'temp_20_vgs_8',
'temp_25_vgs_3',
'temp_25_vgs_5',
'temp_25_vgs_8',
'temp_25_vgs_9',
'temp_25_vgs_10'
} ;
please help me resolve that,
than you in advance
0 Kommentare
Antworten (1)
Sriram Tadavarty
am 19 Mär. 2020
Bearbeitet: Sriram Tadavarty
am 19 Mär. 2020
Hi Sajid,
chs = arrayfun(@(x) str2double(string([ch{x}(5+1:8-1) ch{x}(13:end)])),1:numel(ch))
[~,i] = sort(chs);
out = ch(i);
Hope this helps.
Regards,
Sriram
2 Kommentare
Sriram Tadavarty
am 19 Mär. 2020
Hi Sajid,
Here is what you are looking for, if you know what the index locations are already, then you perform something as such:
chs = arrayfun(@(x) str2double(string([ch{x}(5+1:8-1) ch{x}(13:end)])),1:numel(ch))
[~,i] = sort(chs);
out = ch(i);
To find the locations exactly which has the starting numbers, you can use this
ind = regexp(ch,'_'); % it provides index in each cell
Let me know if this helped.
Thanking you.
Regards,
Sriram
Diese Frage ist geschlossen.
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!