How remove a field inside a structure?
19 次查看(过去 30 天)
显示 更早的评论
I need to remove a field which is inside a structure. I did attach the file to help for understanding the issue.
sd does have a field called Variables, and inside Variables filed, there are 6 fields. then inside each of these, there is Attributes and Text. I need to remove Text from all. I tried the following, but the error is saying too many arguments.
fieldsS = fieldnames(sd.Variables);S = rmfield(sd,fieldsS(:),'Text');code
I read this link, but this case is different as there are many fields inside the structure. https://uk.mathworks.com/matlabcentral/answers/29610-how-do-i-delete-a-field-variable-from-a-structure%20
0 个评论
采纳的回答
Giridharan Kumaravelu
2018-7-25
fieldsS = fieldnames(sd.Variables);
for i = 1:length(fieldsS)
S.Variables.(fieldsS{i}) = rmfield(sd.Variables.(fieldsS{i}),'Text');
end
This could help.
更多回答(1 个)
Guillaume
2018-7-25
I haven't downloaded your mat file to check but this will probably do what you want:
sd.Variables = structfun(@(var) rmfield(var, 'Text'), sd.Variables, 'UniformOutput', false);
This assumes that the Variables field is indeed scalar.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Structures 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!