Remove missing entries from nested cell array
Afficher commentaires plus anciens
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.
Réponses (2)
Dyuman Joshi
le 3 Nov 2023
temp_vars = temp_vars(~cellfun(@(x) any(ismissing(x)),temp_vars))
4 commentaires
ML_Analyst
le 3 Nov 2023
Dyuman Joshi
le 3 Nov 2023
Modifié(e) : Dyuman Joshi
le 7 Nov 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
le 3 Nov 2023
How many does that remove? He wants to "to remove only the first empty".
Dyuman Joshi
le 3 Nov 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)
Catégories
En savoir plus sur String Parsing dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!