How to concatenate a (REAL) string vector?

3 vues (au cours des 30 derniers jours)
Csaba
Csaba le 22 Avr 2021
Modifié(e) : Stephan le 22 Avr 2021
I have a string matrix i.e.
A=["abcd",.....,"efghijk";...
. ...
. ...
. ...
"lm",......, "opkq"];
How to concatenate easily the rows of this matrix to get the result:
"abcdefghijk"
.
.
.
"lmopkq"
as a column vector?

Réponse acceptée

Stephan
Stephan le 22 Avr 2021
Modifié(e) : Stephan le 22 Avr 2021
A=["abcd","efghijk"; "lm", "opkq"]
A = 2×2 string array
"abcd" "efghijk" "lm" "opkq"
B = A(:,1) + A(:,2)
B = 2×1 string array
"abcdefghijk" "lmopkq"
The more general solution (independent from number of rows or columns of your input is:
A=["abcd","efghijk", "1111"; "lm", "opkq", "2222"; "fdds<jgf", "dfkjf", "ldfkj"; "<ksajfjf", "fjjf", "fkkgfkdsw43"]
A = 4×3 string array
"abcd" "efghijk" "1111" "lm" "opkq" "2222" "fdds<jgf" "dfkjf" "ldfkj" "<ksajfjf" "fjjf" "fkkgfkdsw43"
B = join(A,'',2)
B = 4×1 string array
"abcdefghijk1111" "lmopkq2222" "fdds<jgfdfkjfldfkj" "<ksajfjffjjffkkgfkdsw43"
  5 commentaires
Stephen23
Stephen23 le 22 Avr 2021
Modifié(e) : Stephen23 le 22 Avr 2021
ERASE is superfluous**, simply specify both the delimiter and dimension:
A=["abcd","efghijk", "1111"; "lm", "opkq", "2222"; "fdds<jgf", "dfkjf", "ldfkj"; "<ksajfjf", "fjjf", "fkkgfkdsw43"];
B = join(A,'',2)
B = 4×1 string array
"abcdefghijk1111" "lmopkq2222" "fdds<jgfdfkjfldfkj" "<ksajfjffjjffkkgfkdsw43"
** and incorrect: consider what would happen if the strings themselves contain spaces.
Stephan
Stephan le 22 Avr 2021
Modifié(e) : Stephan le 22 Avr 2021
Thank you @Stephen Cobeldick - i edited the incorrectness

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Characters and Strings dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by