Convert Cell to string

2,248 views (last 30 days)
Robin
Robin on 23 Feb 2013
Commented: Stephen23 on 3 Jan 2024
I have got a simple question. I want to convert a cell array to a string array, somehow I don't succeed in doing this.
An example:
I' ve got this: a={1650}, which is a cell array. Because I want to concatenate this with other strings I need to convert the cell array to a string array. I have tried many converting functions but I dont get the correct final string array.
Hopefully somebody can help me with this.
Many Thanks.

Answers (2)

Youssef  Khmou
Youssef Khmou on 23 Feb 2013
hi, You can accomplish that by converting the cell to matrix first then coverting the matrix to string array
B=num2str(cell2mat(A));
  3 Comments
Walter Roberson
Walter Roberson on 12 Nov 2020
B = cellfun(@val2str, A, 'uniform', 0);
function str = val2str(val)
str = evalc(disp(val));
end
Stephen23
Stephen23 on 3 Jan 2024
Or without EVALC, since R2021a:
B = cellfun(@formattedDisplayText, A, 'uni', 0);

Sign in to comment.


Jonathan Thomet
Jonathan Thomet on 12 Nov 2020
You have this in the documentation.
C = {'Li','Sanchez','Jones','Yang','Larson'}
B = string(C)
That should do the trick.
  9 Comments
Walter Roberson
Walter Roberson on 2 Jan 2024
To avoid changing values during conversion, use compose instead of plain string . You will need %.754g for exact conversion of numeric values.
Floyd
Floyd on 2 Jan 2024
@Walter Roberson, I'll give this a go. I appreciate it

Sign in to comment.

Categories

Find more on Data Type Conversion 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!