How to convert a 1x1 cell like {'line'} to a character vector like 'line', or a string like "line" please. thx

 채택된 답변

Azzi Abdelmalek
Azzi Abdelmalek 2024년 11월 13일
편집: MathWorks Support Team 2024년 11월 13일

67 개 추천

이 답변에 Walter Roberson 님이 플래그를 지정함
  • Walter Roberson 님이 2024년 11월 13일에 플래그를 지정했습니다.

    needs reformatting

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) For more information, please refer to the MathWorks documentation on Cell Arrays of Character Vectors and Text in String and Charater Arrays.

댓글 수: 6

Powen Ru
Powen Ru 2018년 1월 8일
편집: Powen Ru 2018년 1월 8일
Thanks. It works.
If you are using a recent version of MATLAB you may find that a string or string array is more convenient then the character array created in the above example and by the char function:
>> string({'one'})
ans =
"one"
>> string({'one','two'})
ans =
1×2 string array
"one" "two"
Raman Shrestha
Raman Shrestha 2018년 12월 6일
it has done magic to me thanks a lot
Thanks Azzi Abdelmalek. Works perfect.
Junho Kweon
Junho Kweon 2019년 4월 25일
That's a piece of cake. Thanks a lot!
Paula Camila
Paula Camila 2023년 2월 19일
gracias

댓글을 달려면 로그인하십시오.

추가 답변 (2개)

Image Analyst
Image Analyst 2015년 2월 1일

16 개 추천

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.
Morteza Darvish Morshedi
Morteza Darvish Morshedi 2019년 6월 14일

5 개 추천

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

댓글 수: 5

Nisha Satia
Nisha Satia 2021년 2월 15일
How to covert cell into string and delimited with space to store into matrix
Is this what you mean?
ca = {'Hello',' ','world'} % Cell Array.
charArray = [ca{:}]
str = convertCharsToStrings(charArray)
If not, start a new question and give your starting cell, and expected output.
Maybe you are looking for this:
S = {'Hello','World'};
s2 = cell(1,length(S)); s2(:)={' '};
ss = [S;s2];
ss = [ss{:}]
Image Analyst
Image Analyst 2021년 2월 15일
Just a point of clarification. ss is a character array while str is a string. A few versions ago, MATLAB made these different types of variables, though in common speech, people call either one "strings".
Right. Thanks.

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Characters and Strings에 대해 자세히 알아보기

태그

아직 태그를 입력하지 않았습니다.

Community Treasure Hunt

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

Start Hunting!

Translated by