Remove missing entries from nested cell array
Mostrar comentarios más antiguos
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.
Respuestas (2)
Dyuman Joshi
el 3 de Nov. de 2023
temp_vars = temp_vars(~cellfun(@(x) any(ismissing(x)),temp_vars))
4 comentarios
ML_Analyst
el 3 de Nov. de 2023
Dyuman Joshi
el 3 de Nov. de 2023
Editada: Dyuman Joshi
el 7 de Nov. de 2023
@ML_Analyst, As you mentioned overall cell_array, I interpreted it like that.
Nevertheless, in that case -
for k = 1:numel(temp_vars)
idx = find(ismissing(temp_vars{k}), 1);
temp_vars{k}(idx) = [];
end
Image Analyst
el 3 de Nov. de 2023
How many does that remove? He wants to "to remove only the first empty".
Dyuman Joshi
el 3 de Nov. de 2023
% make a cell array of string arrays with some missing elements:
str = ["some",missing,"string"];
C = repmat({str},1,3)
% remove the missing elements:
C = cellfun(@rmmissing,C,'UniformOutput',false)
Categorías
Más información sobre String Parsing en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!