Flexible search and listing tool for field names in a structure array

Searches for field names in a structure array and lists them
1.1K Downloads
Updated 3 Jun 2008

View License

Call options:
------------

SearchFields(AStruct)
- Displays all fields in structure array AStruct with their complete ("long") names.

SearchFields(AStruct, SearchString)
- Displays all fields in structure array AStruct of which the name contains SearchString (default = case-insensitive).

SearchFields(AStruct, SearchString, SearchOption)
- The following options may be indicated by SearchOption:
'default' - Default (case-insensitive search, see above).
'case' - Case-sensitive search.
'exact' - Only those field names are listed which matches the SearchString exactly (case-insensitive search).
'exactcase' - The same as 'exact', but with case-sensitive search.
'begin' - Only those field names are listed of which the beginning matches the SearchString (case-insensitive search).
'begincase' - The same as 'begin', but with case-sensitive search.
'end' - Only those field names are listed of which the end matches the SearchString (case-insensitive search).
'endcase' - The same as 'end', but with case-sensitive search.
If no option is given, 'default' is assumed.

SearchFields(AStruct, SearchString, SearchOption, AStructName)
- Normally, the name of the structure array AStruct is resolved using the internal MatLab function "inputname". However, this does not work when the name of AStruct contains dots and/or brackets. As a workaround (as well as to enable recursive operation) the name of AStruct can be entered "manually" as a string in AStructName.

FoundFieldsList = SearchFields(AStruct, ...)
- A list of the found field names is stored as a cellular string array into the output variable FoundFieldsList.

If no output variable is indicated, the names are printed as a list on the screen.

Example of function call:
------------------------
SearchFields(ExampleStruct, 'afield')

Result (example):
----------------
ExampleStruct.AField
ExampleStruct.AnotherField{2,3}.AField
ExampleStruct.AnotherField{2,3}.AField2

Cite As

Paul A.M. Bune (2024). Flexible search and listing tool for field names in a structure array (https://www.mathworks.com/matlabcentral/fileexchange/19484-flexible-search-and-listing-tool-for-field-names-in-a-structure-array), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2006a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Structures in Help Center and MATLAB Answers

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes
1.0.0.0

No change in the program file. Only correction of a small typo in the description on the website, where the search mode using the 'default' option was indicated as being case-sensitive, while in realitiy it is case-insensitive.