STRCAT SYNTAX TO BE USED?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
IF I WANT TO STRCAT 2 VALUES I WOULD DO STRCAT(S1,S2), SO WHAT IF I WANT TO DO N VALUES AND 'N' IS A VALUE WHICH GETS DEFINED IN BETWEEN THE PROGRAM?? WHAT IS THE SYNTAX I SHOULD USE?
THANK YOU
1 Kommentar
Jan
am 7 Mai 2016
Please note that writing in uppercase means shouting in the forum. So please calm down and type your question as all otehr do with a proper case. Thanks.
Akzeptierte Antwort
Weitere Antworten (1)
Jan
am 7 Mai 2016
Bearbeitet: Jan
am 7 Mai 2016
If you store a dynamical number of string, you do not use the names S1, S2, S..., but you store them in a cell string:
C = {'String 1', 'String 2', 'String 3'}; % and so on
Then instead of writing:
S = strcat(C{1}, C{2}, C{3})
You can write:
S = strcat(C{:});
This works with 200 million strings also, where names like S200000000 would be too ugly.
2 Kommentare
Jan
am 7 Mai 2016
Bearbeitet: Jan
am 7 Mai 2016
@Chetan: You have selected Azzi's answer as a solution, but it performs something completely different. Accepting an answer means, that it solves your problem.
You cannot assign a vector with many elements to a scalar variable b. Storing strings in a CHAR-matrix has severe disadvantages, e.g. you cannot distinguish the padded spaces with trailing spaces, which belong to the strings. A conversion to a cell string removes the padded spaces:
S = char('hi', 'matlab', 'user');
C = cellstr(S);
B = strcat(C{:})
If you want to keep the spaces you do not need strcat:
B = reshape(S.', 1, [])
Siehe auch
Kategorien
Mehr zu Characters and Strings finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!