Merge rows of cell array with strings per column?

I have a cell array of 2xn with strings and I would like to merge the text of all rows on a per column base, effectively yielding a 1xn cell array. To illustrate I have something like this...
[{'A'} {'C'}; {'B'} {'D'}]
ans = 2×2 cell array
{'A'} {'C'} {'B'} {'D'}
... and would like something like this:
[{'AB'} {'CD'}]
ans = 1×2 cell array
{'AB'} {'CD'}

 Accepted Answer

C = {'A','C'; 'B','D'}
C = 2×2 cell array
{'A'} {'C'} {'B'} {'D'}
D = cellfun(@(c)join(c,''),num2cell(C,1))
D = 1×2 cell array
{'AB'} {'CD'}
D = cellfun(@(c)[c{:}],num2cell(C,1),'uni',0)
D = 1×2 cell array
{'AB'} {'CD'}

More Answers (0)

Categories

Products

Release

R2022a

Asked:

on 4 Oct 2022

Commented:

on 4 Oct 2022

Community Treasure Hunt

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

Start Hunting!