How to split letters in a word into an array

 Risposta accettata

The string 'Hello' consists of single characters already:
str = 'Hello';
for k = 1:length(str)
disp(str(k))
end
So please explain the wanted type and dimensions of the output. 'H' 'E' 'L' 'L' 'O' is not clear enough.

4 Commenti

I've had a similar question a few times - my goal is take a string that represents RNA, e.g. seq = 'ATTAGCTG', and then use the individual letters as the xticklabels in a figure. cellstr(seq) would return a cell containing the entire string. I believe what I'm looking for is a cell array of individual letters (no loops would be nice). Forgive me if I'm missing something simple.
Nevermind! I just noticed the transpose in the below comment. Learn something new every day.
Stephen23
Stephen23 il 7 Feb 2018
Modificato: Stephen23 il 26 Mag 2021
Try num2cell, e.g. where W is your word (a 1xN character vector):
C = num2cell(W(:))
num2cell is the best solution. In case str is of class string
c = num2cell(char(str));
This works when str is a character array or a string.

Accedi per commentare.

Più risposte (2)

Tom
Tom il 1 Lug 2013
Modificato: Tom il 1 Lug 2013
str = 'HELLO';
cellstr(str')'
If you want to extract the letters, simply extract in this way
>> str(1)
H
>> str(2)
E
>> str(3)
L
>>str(4)
L
>> str(5)
L
>> str(6)
O

Categorie

Prodotti

Tag

Richiesto:

MKN
il 1 Lug 2013

Modificato:

il 26 Mag 2021

Community Treasure Hunt

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

Start Hunting!

Translated by