MATLAB Answers

1

How to convert a 1x1 cell to a string?

Asked by bh dhouha on 1 Feb 2015
Latest activity Answered by Morteza Darvish Morshedi on 14 Jun 2019
How to convert a 1x1 cell like {'line'} to a character vector like 'line', or a string like "line" please. thx

  0 Comments

Sign in to comment.

3 Answers

Answer by Azzi Abdelmalek
on 1 Feb 2015
Edited by MathWorks Support Team on 27 Nov 2018
 Accepted Answer

To convert a cell array of character vectors to a character array, use the “char” function.
A = {'line'}
B = char(A)
To extract the contents from a cell, index using curly braces.
A = {'line'}
B = A{1}
Starting in R2016b, you can store text in string arrays. To convert a cell array to a string array, use the “string” function.
A = {'line'}
B = string(A)

  5 Comments

it has done magic to me thanks a lot
Thanks Azzi Abdelmalek. Works perfect.
That's a piece of cake. Thanks a lot!

Sign in to comment.


Answer by Image Analyst
on 1 Feb 2015

Azzi showed you how to extract the string from a cell. Another way is to convert the cell with char():
ca={'line'} % This is our cell array.
str = char(ca) % Convert it to a character array (string).
Net, both give the same result, just different ways of getting there. If your cell array is only a single solitary cell, then you should not even use a cell in the first place - use a string.

  1 Comment

Sign in to comment.



Even if you have more than 1 string in our cell array, an easy way can be:
S = {'Hello',' ','world'}
ss = [S{:}]

  0 Comments

Sign in to comment.