Create new column in cell array based on string values in other columns
15 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponse acceptée
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)
Voir également
Catégories
En savoir plus sur Cell Arrays dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!