Create new column in cell array based on string values in other columns
13 views (last 30 days)
Show older comments
In my cell array, I have three columns containing strings: 'string1' 'string2' 'string3'
I would like to add a new column containing a combination of the other three strings (separated by '_'): 'string1_string2_string3'
How can I do this?
0 Comments
Accepted Answer
Guillaume
on 16 Aug 2016
Use strjoin to merge the strings and a loop to go over the rows:
C = {'aaa', 'b', 'cccc';
'string1', 'string2', 'string3'}
newcol = size(C, 2) + 1;
for row = 1 : size(C, 1)
C{newcol, 4} = strjoin(C(row, :), '_');
end
Or using cellfun instead of a loop:
newC = cellfun(@(row) [row, strjoin(row, '_')], num2cell(C, 2), 'UniformOutput', false)
newC = vertcat(newC{:})
More Answers (0)
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!