Cell array Strings help

조회 수: 9 (최근 30일)
tom rawr
tom rawr 2012년 2월 26일
댓글: Jan 2017년 6월 2일
Hi, Could I please have some help?
Firstly, typing this into matlab: cellArray1 = {'hi', 'harry', 'potter'} , outputs a 1x3 cell array: cellArray1 =
'hi' 'harry' 'potter'
Now, I want to make a cell array exactly like above but from a String of words such as: text = 'hi harry potter'.
Can anyone please help? I cant figure how to make my text go into a 1x3 cell array :(
Thanks
  댓글 수: 2
Thomas Blackwood
Thomas Blackwood 2017년 6월 1일
편집: Thomas Blackwood 2017년 6월 1일
Try the strcat function.
If you take your string you can try:
strcat(cellArray1{1}, 32, cellArray1{2}, 32, cellArray1{3})
If you're wondering what the 32 is about check the ASCII table codes.
Jan
Jan 2017년 6월 2일
@Thomas: The question is tricky. tom did not want to concatenate the strings, but to split them.

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

채택된 답변

Oleg Komarov
Oleg Komarov 2012년 2월 26일
regexp('hi harry potter',' ','split')
  댓글 수: 1
tom rawr
tom rawr 2012년 2월 26일
thanks! So simple, didnt realise!

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

추가 답변 (2개)

Jan
Jan 2012년 2월 26일
Or:
C = textscan('hi harry potter', '%s')
S = C{1}';
  댓글 수: 1
tom rawr
tom rawr 2012년 2월 26일
Thank you Jan!

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


Jan
Jan 2017년 6월 2일
Since Matlab 2013a:
strsplit('hi harray potter')
And modern Matlab versions suggest:
split('hi harray potter')
which creates the new string class.
I'm still astonished that this job concerns the standard problem: Import a text file to a cell string. In R6.5 we needed to create a function to split a string into a cell string by our own. Then regexp('split') was introduced. Later on textread solved this (based on the underlying function dataread, until this was replaced by textscan. Cruel. This is a standard task and it is impossible to write it with backward compatibility.

카테고리

Help CenterFile 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