Find column names with particular names in MATLAB table

34 views (last 30 days)
Hi there,
I have a massive table with 408 columns in MATLAB. I want to get rid of columns that start with the word "connected". Instead of having to manually check the table and do something like
finalnbs(:,212:364) = [];
is the table, how do I find all columns in finalnbs which start with connected e.g.
And then remove those?
  1 Comment
harjeet singh
harjeet singh on 21 Dec 2015
please upload mat table, and let me know the datatype of finalnbs

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 21 Dec 2015
finalnbs(:,strncmp(finalnbs.Properties.VariableNames, 'connected', length('connected')) ) = [];

More Answers (2)

Renato Agurto
Renato Agurto on 21 Dec 2015
Edited: Renato Agurto on 21 Dec 2015
if "titles" is the first row of your table, then:
titles = finalnbs(1,:);
%Select the columns that should stay
idxs = cellfun(@(x) length(x) < 9 || ~strcmp(x(1:9),'connected'),titles);
finalnbs = finalnbs(:,idxs);

Joseba Moreno
Joseba Moreno on 14 Feb 2019
I have a similar problem but in my case I would like to remove the columns which contain the word "free".
How can I do that?

Sign in to comment.


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!