Cell array Strings help

11 visualizzazioni (ultimi 30 giorni)
tom rawr
tom rawr il 26 Feb 2012
Commentato: Jan il 2 Giu 2017
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 Commenti
Thomas Blackwood
Thomas Blackwood il 1 Giu 2017
Modificato: Thomas Blackwood il 1 Giu 2017
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 il 2 Giu 2017
@Thomas: The question is tricky. tom did not want to concatenate the strings, but to split them.

Accedi per commentare.

Risposta accettata

Oleg Komarov
Oleg Komarov il 26 Feb 2012
regexp('hi harry potter',' ','split')
  1 Commento
tom rawr
tom rawr il 26 Feb 2012
thanks! So simple, didnt realise!

Accedi per commentare.

Più risposte (2)

Jan
Jan il 26 Feb 2012
Or:
C = textscan('hi harry potter', '%s')
S = C{1}';

Jan
Jan il 2 Giu 2017
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.

Categorie

Scopri di più su Characters and Strings in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by