How to concatenate a (REAL) string vector?

1 Ansicht (letzte 30 Tage)
Csaba
Csaba am 22 Apr. 2021
Bearbeitet: Stephan am 22 Apr. 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?

Akzeptierte Antwort

Stephan
Stephan am 22 Apr. 2021
Bearbeitet: Stephan am 22 Apr. 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 Kommentare
Stephen23
Stephen23 am 22 Apr. 2021
Bearbeitet: Stephen23 am 22 Apr. 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 am 22 Apr. 2021
Bearbeitet: Stephan am 22 Apr. 2021
Thank you @Stephen Cobeldick - i edited the incorrectness

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Characters and Strings finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by