Ignore rows in cell with no delimiters
4 views (last 30 days)
Show older comments
I have a cell array A =
{ a1 = 1}
{ a2 = 2}
{ a3 = 3}
{ a4}
{ a5}
{ a6 = 6}
I have used a split command to split the cell A into two cells based on the delimiter ( B = split(A ,'='); )
I get an error
Element 4 of the text contains 0 delimiters while the previous elements have 1. All elements must contain the same number of delimiters.
I want the output to be
B =
{a1} {1}
{a2} {2}
{a3} {3}
{a4}
{a5}
{a6} {6}
Can anyone help me in this ?
2 Comments
Image Analyst
on 22 Oct 2022
That's not MATLAB code. See:
A =
{ a1 = 1}
{ a2 = 2}
{ a3 = 3}
{ a4}
{ a5}
{ a6 = 6}
Please either give code to generate A properly or attach A in a .mat file. I also have no idea what you mean for B so create a B and attach it in the .mat file also so we can see what it really is.
Answers (1)
Jan
on 22 Oct 2022
You want the output:
B =
{a1} {1}
{a2} {2}
{a3} {3}
{a4}
{a5}
{a6} {6}
This is not possible. A cell matrix is still a matrix and this means, that all rows must have the same number of elements. This is the cause for the split function to fail.
0 Comments
See Also
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!