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) = [];
Where
finalnbs
is the table, how do I find all columns in finalnbs which start with connected e.g.
connected*
And then remove those?

1 件のコメント

harjeet singh
harjeet singh 2015 年 12 月 21 日
please upload mat table, and let me know the datatype of finalnbs

サインインしてコメントする。

 採用された回答

Walter Roberson
Walter Roberson 2015 年 12 月 21 日

0 投票

finalnbs(:,strncmp(finalnbs.Properties.VariableNames, 'connected', length('connected')) ) = [];

その他の回答 (2 件)

Renato Agurto
Renato Agurto 2015 年 12 月 21 日
編集済み: Renato Agurto 2015 年 12 月 21 日

0 投票

Hello
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 2019 年 2 月 14 日

0 投票

Hello,
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?
Thanks!
Joseba

2 件のコメント

Walter Roberson
Walter Roberson 2019 年 2 月 14 日
With new enough matlab you can use contains() to test whether a substring occurs somewhere in a string .
Peter Perkins
Peter Perkins 2019 年 2 月 17 日
or strfind in older versions.

サインインしてコメントする。

カテゴリ

ヘルプ センター および File Exchange で Characters and Strings についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by