Ignore rows in cell with no delimiters
4 次查看(过去 30 天)
显示 更早的评论
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 个评论
Image Analyst
2022-10-22
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.
回答(1 个)
Jan
2022-10-22
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Cell Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!