How do I delete empty cells in rows of a cell array?
Ältere Kommentare anzeigen
Hi,
I have a cell array of strings and empty cells. I would like to rearrange this so the empty cells are on the end of each row. For example:
[a] [b] [ ] [ ] [c]
[d] [ ] [e] [ ] [ ]
should become:
[a] [b] [c] [ ] [ ]
[d] [e] [ ] [ ] [ ]
The reason I want to do this is to ultimately end up with a cell matrix of strings in the following form:
[abc]
[de]
How would I accomplish these things, or is there a more efficient way to end up with the matrix of strings?
Akzeptierte Antwort
Weitere Antworten (1)
You don't need to reorder the empty cells if all you intend to do is concatenate across rows:
>> C={'a',[],'b';[], 'e','d'}
C =
'a' [] 'b'
[] 'e' 'd'
>> Ccat=cell(size(C,1),1); for ii=1:size(C,1); Ccat{ii}=[C{ii,:}] ;end,
>> Ccat
Ccat =
'ab'
'ed'
Kategorien
Mehr zu Characters and Strings finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!