Alphanumeric sorting of data
    12 views (last 30 days)
  
       Show older comments
    
    Prathamesh Halagi
 on 19 Jan 2021
  
    
    
    
    
    Commented: Prathamesh Halagi
 on 25 Jan 2021
            Hello,
I have data which is extracted from various excel fiels in a folder. I want to sort the data based on the data in the first column. The issue is the data in this column is for ex, '10000 Rest',  '3200 Rest', '2000 Rest', etc.. I need the data to be in ascending form. The output I receive is '10000 Rest',  '2000 Rest', '3200 Rest', etc. The required output for me is '2000 Rest', '3200 Rest', '10000 Rest'.. etc.
Is there a way to change the sorting type.
Thanks 
Accepted Answer
  Rishabh Mishra
    
 on 22 Jan 2021
        
      Edited: Rishabh Mishra
    
 on 22 Jan 2021
  
      Hi,
Based on my understanding of the issue, I suggest you to implement the 'sort_nat' function. The function is used to sort array of strings in natural alphabetcial order. I have added a reference example code below to demonstrate the use of sort_nat function.
arr = {'10000 Rest','3200 Rest','2000 Rest'};
sort_nat(arr);
Hope this helps!
4 Comments
  Walter Roberson
      
      
 on 25 Jan 2021
				
      Edited: Walter Roberson
      
      
 on 25 Jan 2021
  
			Can the alphabetic part always be ignored for sorting purposes? For example, no "2000 Checkpoint" along with "2000 Rest" ?
[~, idx] = sort(arrayfun(@(S) sscanf(S, '%d', 1), ds_2.Var1));
More Answers (0)
See Also
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!


