Deleting Empty Rows in Cell Array

1 view (last 30 days)
Hello,
I have a cell array like
' '
' '
'1231231'
' '
' '
'1231231'
' '
I want to delete this blank elements and transform this cell array from 7x1 to 2x1. How can I do it? Is there any methods to solve this problem without cellfun or etc.? Thank you.

Accepted Answer

Fangjun Jiang
Fangjun Jiang on 6 Jun 2022
If the data is in a cell array, mostly likely cellfun() is needed, unless you use for-loop.
strtrim() or strip() can remove the white spaces.
b={' '
' '
'1231231'
' '
' '
'1231231'
' '};
c=strip(b);
index=cellfun(@isempty,c);
d=b(~index)
d = 2×1 cell array
{'1231231'} {'1231231'}
  7 Comments
tinkyminky93
tinkyminky93 on 7 Jun 2022
@Fangjun Jiang sir I applied your suggestion and it seems like that is what I want. But I have a problem. My data becomes 32x1 cell and every element is 2x1 cell. What I want is 32x1 and every element is 1x2. How can I do it?
Fangjun Jiang
Fangjun Jiang on 7 Jun 2022
Provide some example data that others can use directly in MATLAB to help you. For example
' '
'1231231'
can not be used directly in MATLAB, while
a={' '
'1231231'}
can so others can use it to provide you with example code.

Sign in to comment.

More Answers (0)

Categories

Find more on Characters and Strings in Help Center and File Exchange

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!