Convert char to multiple cells, each cell takes one string

I have a 1*121 char 'Runtime_Cur','Runtime_Prev','Id_Cur','Id_Prev','Description','PNL','PNL_Cur','valuedate_Cur','PNL_Prev','valuedate_Prev'
cellstr gives me a 1*1 cell, but I would like to get a 1*10 cell, each cell contains one string, so it will be: {'Runtime_Cur','Runtime_Prev','Id_Cur','Id_Prev','Description','PNL','PNL_Cur','valuedate_Cur','PNL_Prev','valuedate_Prev'}
ans =
Columns 1 through 6
'Runtime_Cur' 'Runtime_Prev' 'Id_Cur' 'Id_Prev' 'Description' 'PNL'
Columns 7 through 10
'PNL_Cur' 'valuedate_Cur' 'PNL_Prev' 'valuedate_Prev'
Could any one help? Thanks in advance :-)

1 Comment

What is the original variable, the 1*121 char? Can you put it in your question?

Sign in to comment.

 Accepted Answer

Provided that the literal quote marks do not appear in the middle of a string:
STRING(STRING=='''') = [];
STRcells = regexp(STRING, ',', 'split');

More Answers (1)

a='Runtime_CurRuntime_PrevId_CurId_PrevDescriptionPNLPNL_Curvaluedate_CurPNL_Prev';
size(a)
b=mat2cell(a,1,[10 10 20 20 18])
Those numbers determines how to split the long string into cells.

1 Comment

Thanks so much, that's what I want. But do u think there is a way of avoiding these numbers?

Sign in to comment.

Categories

Community Treasure Hunt

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

Start Hunting!