How to concatenate 2 cell arrays containing strings?

7 vues (au cours des 30 derniers jours)
Travis Leith
Travis Leith le 24 Oct 2019
Commenté : Travis Leith le 24 Oct 2019
I have something like this
x = arrayfun(@(i) sprintf("%s%i", 'xx', i), (0:6)');
which generates a 7x1 string array and behaves the way I want.
But I want to apply this to a variety of prefix strings as in.
s = ["xx"; "yy"];
x = arrayfun(@(s) arrayfun(@(i) sprintf("%s%i", 'LA', i), (0:6)'), s);
But this raises an error and changing it to
x = arrayfun(@(s) arrayfun(@(i) sprintf("%s%i", 'LA', i), (0:6)'), s, 'UniformOutput', false);
runs, but now generates a 2x1 cell array, each cell containing a 7x1 string array.
What I really want is a 14x1 string array. cell2mat does not work for this.
I realise I can get this done with a loop, but I prefer to code (and think) declaratively. Can this be done without a loop?

Réponse acceptée

Adam
Adam le 24 Oct 2019
vertcat( x{:} )

Plus de réponses (0)

Catégories

En savoir plus sur Characters and Strings 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!

Translated by