getting rid of empty cells in a cell array

26 views (last 30 days)
Hi,
can you please help me with this? I have the following cell array
x = {1,[],'ciao',[],[]};
I want to exclude the empty cells, and get another array like this:
y = {1,'ciao'};
Thank you!

Accepted Answer

Niklas Nylén
Niklas Nylén on 15 Jan 2014
First, check which cells that are empty using the function isempty. Since isempty does not accept cell arrays as input, you can use the cellfun function. This will call a function with each element of a cell array:
index = cellfun(@isempty, x) == 0;
y = x(index)

More Answers (1)

Mischa Kim
Mischa Kim on 15 Jan 2014
Edited: Mischa Kim on 15 Jan 2014
Try y=x(~cellfun('isempty',x))
  4 Comments
Yiqian Qian
Yiqian Qian on 27 May 2021
I have the same question above, how to apply this to a specific row or colums.

Sign in to comment.

Categories

Find more on Cell Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!