Create new column in cell array based on string values in other columns

15 vues (au cours des 30 derniers jours)
phlie
phlie le 16 Août 2016
Commenté : phlie le 16 Août 2016
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?

Réponse acceptée

Guillaume
Guillaume le 16 Août 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{:})

Plus de réponses (0)

Catégories

En savoir plus sur Cell Arrays dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by