How to find multiple table column numbers by column names?

6 Ansichten (letzte 30 Tage)
Using the following code, can get the column number of 'rk_mill_tonnage' in the table.
col_ind_rmt = find(string(G_Value.Properties.VariableNames) == "rk_mill_tonnage");
However, the 'rk_mill_tonnage' might be differnet from table to table, for example, 'ore_mill_tonnage' in another table
col_ind_rmt = find(string(G_Value.Properties.VariableNames) == "rk_mill_tonnage" || 'ore_mill_tonnage');
The above code is wrong, as the '||' is using in scalar.Therefore, is there any other ways to get the column number among the multiple names?

Akzeptierte Antwort

Scott MacKenzie
Scott MacKenzie am 21 Jun. 2021
Bearbeitet: Scott MacKenzie am 21 Jun. 2021
col_ind_rmt = find(string(G_Value.Properties.VariableNames) == "rk_mill_tonnage" | ...
string(G_Value.Properties.VariableNames) == 'ore_mill_tonnage');

Weitere Antworten (1)

dpb
dpb am 21 Jun. 2021
Bearbeitet: dpb am 21 Jun. 2021
col_ind_rmt = find(string(G_Value.Properties.VariableNames) == "rk_mill_tonnage" || 'ore_mill_tonnage');
Just replace "||" with "|" would make the above work but simpler coding would be
col_ind_rmt=find(contains(G_Value.Properties.VariableNames,'_mill_tonnage'));
that will return either of the above but not return 'mill_tonnage' if there were a name without a prefix and underscore.
Or, of course, you can get as sophisticated as desired/needed by using regular expressions

Kategorien

Mehr zu Tables finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by