Cell array
1 view (last 30 days)
Show older comments
If I have a cell array that consists of 1 row by n columns such as and each entry has text of the form
xx1 xx2 xx3 xx4
How can I create a single string that has each entry comma seperated. I need to create this format to enable Rowheaders for a UItable.
i.e. rowHeaders = {'xx1','xx2',xx3','xx4'};
thanks
0 Comments
Accepted Answer
Walter Roberson
on 23 Jul 2011
rowHeaders = YourCellArrayName;
That is all you need: that is already equivalent to
rowHeaders = {YCAN{1}, YCAN{2}, YCAN{3}, ...};
2 Comments
Walter Roberson
on 23 Jul 2011
No adaptation needed, as long as the number of elements in the cell array matches the number of row headers you need.
When YCAN is a cell array of strings, then YCAN{1} is, for nearly every purpose in MATLAB, the same thing as writing the literal string at that point. YCAN{:} is, for nearly all purposes, the same thing as writing all of the literal strings at that point, separated by commas. {YCAN{:}} would thus be the same thing as writing {'xx1', 'xx2','xx3' } and so on. And just naming the cell array, YCAN, is the same thing as {YCAN{:}} . So all you need to do is write the cell array name if it is already initialized to the strings you want.
More Answers (2)
Fangjun Jiang
on 22 Jul 2011
You mean this?
a={'xx1 xx2 xx3 xx4'};
b=regexp(a{1},'\s','split')
3 Comments
Fangjun Jiang
on 22 Jul 2011
You mean a={'xx1' 'xx2' 'xx3' 'xx4'}? Then what processing do you need? Could you just update your question to include of your example input and output?
Titus Edelhofer
on 22 Jul 2011
or similarly using textscan:
b = textscan('xx1 xx2 xx3 xx4', '%s');
b = b{1}
Titus
0 Comments
See Also
Categories
Find more on File Operations 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!