Extract all columns from a table where the column names "start with" a string
187 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 Design Scripting 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!