How can I join chars to a string vector?

4 views (last 30 days)
Thodoris Manousis
Thodoris Manousis on 7 May 2017
Edited: dpb on 7 May 2017
Hi everyone, I have a char vector 85x19 and I would like to combine all the characters line by line into a string vector 85x1. The char vector is like this:
2015-06-25_12:00:00
2015-06-25_13:00:00
2015-06-25_14:00:00
2015-06-25_15:00:00
2015-06-25_16:00:00
2015-06-25_17:00:00
....... and goes on
Any help would be apreciated! Thank you

Answers (2)

dpb
dpb on 7 May 2017
Edited: dpb on 7 May 2017
Surprisingly, as so often since documentation in Matlab is example- instead of syntax- driven, the actual rule one looks for isn't described... :( (I've complained of this for 20+ yr...it's improved with more examples and some amplifications, but still has ways to go...)
Anyway, rant aside
S=string(C);
is the example not given of an array; I'd surely expect it to work.
S=string(cellstr(C)); % is in the example if above doesn't
Don't have recent release with strings class here so can't test...

Philip Borghesani
Philip Borghesani on 7 May 2017
If you really have a char array (85x19 is not a vector... these are not all that common now) and are using a recent version of MATLAB (I tested R2017a) then just call string on your array. If your array is a cellstr you should still be able to create a string array from it with the string constructor. If you actually want a 85x1 cellstr then create that with the cellstr function.
c=repmat('this is text',10,1);
c=[c,num2str((1:10)')] %char matrix
cellArrayofChars=cellstr(c)
stringVector=string(c)

Categories

Find more on Characters and Strings in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!