Remove missing entries from nested cell array

3 次查看(过去 30 天)
Hello,
I have a cell array which has string arrray inside like for example below:
and some of the string array have empty/missing contents:
I would like to remove these empty/missing entries from the overall cell_array (temp_vars).
I tried something like:
temp_vars = temp_vars(~cellfun('isempty',temp_vars))
but did not find a solution yet. Any help would be appreciated.

回答(2 个)

Dyuman Joshi
Dyuman Joshi 2023-11-3
temp_vars = temp_vars(~cellfun(@(x) any(ismissing(x)),temp_vars))
  4 个评论
Image Analyst
Image Analyst 2023-11-3
How many does that remove? He wants to "to remove only the first empty".
Dyuman Joshi
Dyuman Joshi 2023-11-3
Thanks for pointing out the mistake, @Image Analyst, I have updated my code.

请先登录,再进行评论。


Voss
Voss 2023-11-3
% make a cell array of string arrays with some missing elements:
str = ["some",missing,"string"];
C = repmat({str},1,3)
C = 1×3 cell array
{["some" <missing> "string"]} {["some" <missing> "string"]} {["some" <missing> "string"]}
% remove the missing elements:
C = cellfun(@rmmissing,C,'UniformOutput',false)
C = 1×3 cell array
{["some" "string"]} {["some" "string"]} {["some" "string"]}

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by