1

我有一个包含数千个字段名称和相应值的结构。字段名称大小写混合,但就名称而言是唯一的。我需要寻找价值。我知道我正在寻找值的字段名称,但我不知道字母的确切大小写。

示例代码是:

A = struct();
A.cat = 14;
A.Dog = 11;
A.COw = 13;

如何查找 struct A 中奶牛的值是什么?

谢谢

4

1 回答 1

4

您可以创建一个不区分大小写的版本getfield,如下所示:

function value = getfieldi(S,field)
    names   = fieldnames(S);
    isField = strcmpi(field,names);  

    if any(isField)
      value = S.(names{isField});
    else
      value = [];
    end
end
于 2015-01-27T20:43:51.290 回答