Convert Cell to string

1,336 次查看(过去 30 天)
Robin
Robin 2013-2-23
评论: Stephen23 2024-1-3
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.

回答(2 个)

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

请先登录,再进行评论。


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

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Data Type Conversion 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by