How to delete empty rows from string arrays contained in a cell array?

37 views (last 30 days)
I would need to delete empty strings contained in N x 1 string arrays (N is variable) which are contained in a cell array theirself.
mycellArray is a 3×1 cell array and is made up of string arrays of variable dimensions:
  • mycellArray{1} is a 49×1 string array
  • mycellArray{2} is a 22×1 string array
  • mycellArray{3} is a 35×1 string array
mycellArray{1} looks like:
How can I delete just the empty rows "" and let the written text?
Thanks in advance!

Accepted Answer

madhan ravi
madhan ravi on 10 Jul 2020
Edited: madhan ravi on 10 Jul 2020
Wanted = arrayfun(@(y)cellfun(@(x) x(~(x=="")), c{y},'un', 0),1:numel(c)).' % c your cell array
  3 Comments

Sign in to comment.

More Answers (1)

Arthur Roué
Arthur Roué on 10 Jul 2020
% Logical array, true when element in cell is empty
vb = cellfun(@isempty, MyCell)
% Remove empty element
MyCell = MyCell(~vb)
  2 Comments
Davide Festa
Davide Festa on 10 Jul 2020
Thanks for your answer, but my purpose is to delete empty strings contained in each string array of the cell.
Your suggest is to delete empty cells, but I have no empty cell, just empty strings ("") within string arrays which are part of a cell array.
Hope to be clear.
Arthur Roué
Arthur Roué on 10 Jul 2020
Edited: Arthur Roué on 10 Jul 2020
Oh, ok I misunderstood the problem.
I think you have your answer below :)

Sign in to comment.

Categories

Find more on Characters and Strings 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!