Extract all columns from a table where the column names "start with" a string
    49 views (last 30 days)
  
       Show older comments
    
    newbie9
      
 on 28 Aug 2019
  
    
    
    
    
    Commented: Walter Roberson
      
      
 on 27 May 2022
            How can I extract all columns from a table where the column names "start with" a string?
For example, in
mytable = array2table(NaN(4,5));
mytable.Properties.VariableNames = {'A1', 'A2', 'B1', 'F2', 'F4'};
How would I extract all the "F*" columns in to a new table?
0 Comments
Accepted Answer
  Walter Roberson
      
      
 on 28 Aug 2019
        mask = startsWith( mytable.Properties.VariableNames, 'F');
Fcols = mytable(:,mask);
More Answers (1)
  Arnaud Delorme
      
 on 27 May 2022
        
      Edited: Arnaud Delorme
      
 on 27 May 2022
  
          colNames = fieldnames(mytable);
    [~,inds] = intersect(colNames, { 'A1' 'A2' } );
    mytable = mytable(:,sort(inds));
1 Comment
  Walter Roberson
      
      
 on 27 May 2022
				This would not get you anything that mytable(:, { 'A1' 'A2' } ) would not give, other than preserving relative order of variables.
See Also
Categories
				Find more on Tables 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!