Return message header fields matching name or class



[fields,indices] = getFields(messages,ids) returns fields and their indices in the messages that match the given IDs.

Input Arguments

expand all

Messages, specified as a vector of objects.

Example: getFields([msg1,msg2],'Date')

Names to match, specified as one of the following.

  • String vector, character vector, cell array of character vectors, or comma-separated list of strings or character vectors containing the names of the fields to return. Names are not case-sensitive.

  • Vector or comma-separated list of one or more objects whose Name properties are used to determine which fields to return. Names are not case-sensitive. Header field values in these objects are ignored.

  • Vector or comma-separated list of meta.class objects that are subclasses of HeaderField.

    The getFields method searches for names that match names supported by the specified classes, regardless of the class. If a subclass does not have a specific set of supported names, all header fields of that subclass are matched regardless of their names. Call the HeaderField.displaySubclasses method to see supported names.

Example: getFields(response,'Date','Content-Type')

Output Arguments

expand all

Fields matching input, returned as an array of objects. If no matches exist, getFields returns an empty HeaderField array. The name search is case-insensitive.

Index values of fields, returned as an array of integers, or [] if no match.

If messages is a vector, then getFields returns fields matching ids from all messages. indices is a cell array of vectors, where indices{i} contains the indices of the matching fields in messages{i}.


expand all

Add a missing Date header field to a request message using the RequestMessage.complete method.

Create a request message to get text from the MathWorks website.

uri ='');
req =;

Verify the message contains a Date field. The date value reflects your system information. The value indices{1} = [] indicates that req does not contain a Date field.

request = complete(req,uri);
[fields,indices] = getFields([req,request],?
fields = 
  DateField with properties:

     Name: "Date"
    Value: "Sat, 29 Feb 2020 05:09:52 GMT"

indices=1×2 cell array
    {0x0 double}    {[3]}

Introduced in R2016b