structfind

Search for a value, cell or string inside a Matlab struct
3,7K téléchargements
Mise à jour 23 déc. 2010

Afficher la licence

StructFind, Find the index of a certain string or value in a struct

index=structfind(a,field,value)

inputs,
a : A Matlab struct, for example a(1).name='red', a(2).name='blue';
field : The name of the field which is searched, for example 'name'
value : The search value, for example 'blue'

outputs,
index : The Struct index which match the search

Example,

a(1).name='blue';
a(1).index=0;
a(1).val='g';

a(2).name='red';
a(2).index=1;
a(2).val=[1 0];

a(3).name='green';
a(3).index=2;
a(3).val='g';

a(4).name='black';
a(4).index=3;
a(4).val=[0 0 0];

a(5).name='yellow';
a(5).index=NaN;
a(5).val=[0 1 1];

a(6).name='orange';
a(6).index=[];
a(6).val=[1 1 0];

a(7).name='brown';
a(7).index=6;
a(7).val={'12'};

a(8).name='white';
a(8).index=7;
a(8).val.x=1;

a(8).name='purple';
a(8).index=8;
a(8).val.child.value=2;

index=structfind(a,'name','red');
disp(['index : ' num2str(index)])

index=structfind(a,'index',1);
disp(['index : ' num2str(index)])

index=structfind(a,'val',[0 0 0]);
disp(['index : ' num2str(index)])

index=structfind(a,'val','g');
disp(['index : ' num2str(index)])

index=structfind(a,'index',NaN);
disp(['index : ' num2str(index)])

index=structfind(a,'index',[]);
disp(['index : ' num2str(index)])

index=structfind(a,'val',{'12'});
disp(['index : ' num2str(index)])

index=structfind(a,'val.child.value',2);
disp(['index : ' num2str(index)])

Citation pour cette source

Dirk-Jan Kroon (2024). structfind (https://www.mathworks.com/matlabcentral/fileexchange/29808-structfind), MATLAB Central File Exchange. Extrait(e) le .

Compatibilité avec les versions de MATLAB
Créé avec R2010b
Compatible avec toutes les versions
Plateformes compatibles
Windows macOS Linux
Catégories
En savoir plus sur Structures dans Help Center et MATLAB Answers
Remerciements

A inspiré : "contains" with multiple conditions, StructFind

Community Treasure Hunt

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

Start Hunting!
Version Publié le Notes de version
1.1.0.0

Added solutions for problem cases by comment : Jos (10584)

1.0.0.0