How to find multiple table column numbers by column names?
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Chao Zhang
le 21 Juin 2021
Commenté : Chao Zhang
le 22 Juin 2021
Using the following code, can get the column number of 'rk_mill_tonnage' in the table.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/660220/image.png)
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?
0 commentaires
Réponse acceptée
Scott MacKenzie
le 21 Juin 2021
Modifié(e) : Scott MacKenzie
le 21 Juin 2021
col_ind_rmt = find(string(G_Value.Properties.VariableNames) == "rk_mill_tonnage" | ...
string(G_Value.Properties.VariableNames) == 'ore_mill_tonnage');
0 commentaires
Plus de réponses (1)
dpb
le 21 Juin 2021
Modifié(e) : dpb
le 21 Juin 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
Voir également
Catégories
En savoir plus sur Tables dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!