How remove a field inside a structure?

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

 採用された回答

Giridharan Kumaravelu
Giridharan Kumaravelu 2018 年 7 月 25 日

0 投票

fieldsS = fieldnames(sd.Variables);
for i = 1:length(fieldsS)
S.Variables.(fieldsS{i}) = rmfield(sd.Variables.(fieldsS{i}),'Text');
end
This could help.

1 件のコメント

Neda
Neda 2018 年 7 月 25 日
Thank you so much. very helpful

サインインしてコメントする。

その他の回答 (1 件)

Guillaume
Guillaume 2018 年 7 月 25 日

0 投票

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.

カテゴリ

ヘルプ センター および File ExchangeStructures についてさらに検索

タグ

質問済み:

2018 年 7 月 25 日

回答済み:

2018 年 7 月 25 日

Community Treasure Hunt

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

Start Hunting!

Translated by