Matlab:从字段名称混合大写的结构中获取价值
Matlab: get value from a struct with mixed capitalization of field names
我有一个包含大约数千个字段名称和相应值的结构。字段名称大小写混合,但就名称而言是唯一的。我需要查找值。我知道要查找值的字段名称,但不知道字母的确切大小写。
示例代码是:
A = struct();
A.cat = 14;
A.Dog = 11;
A.COw = 13;
如何查看结构 A 中 cow 的值?
谢谢
您可以像这样创建不区分大小写的版本getfield
:
function value = getfieldi(S,field)
names = fieldnames(S);
isField = strcmpi(field,names);
if any(isField)
value = S.(names{isField});
else
value = [];
end
end
我有一个包含大约数千个字段名称和相应值的结构。字段名称大小写混合,但就名称而言是唯一的。我需要查找值。我知道要查找值的字段名称,但不知道字母的确切大小写。
示例代码是:
A = struct();
A.cat = 14;
A.Dog = 11;
A.COw = 13;
如何查看结构 A 中 cow 的值?
谢谢
您可以像这样创建不区分大小写的版本getfield
:
function value = getfieldi(S,field)
names = fieldnames(S);
isField = strcmpi(field,names);
if any(isField)
value = S.(names{isField});
else
value = [];
end
end