Extract all columns from a table where the column names "start with" a string

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?

 Réponse acceptée

mask = startsWith( mytable.Properties.VariableNames, 'F');
Fcols = mytable(:,mask);

Plus de réponses (1)

Arnaud Delorme
Arnaud Delorme le 27 Mai 2022
Modifié(e) : Arnaud Delorme le 27 Mai 2022
colNames = fieldnames(mytable);
[~,inds] = intersect(colNames, { 'A1' 'A2' } );
mytable = mytable(:,sort(inds));

1 commentaire

This would not get you anything that mytable(:, { 'A1' 'A2' } ) would not give, other than preserving relative order of variables.

Connectez-vous pour commenter.

Catégories

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by