How to split letters in a word into an array

 Réponse acceptée

Jan
Jan le 1 Juil 2013
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 commentaires

Ronald D Smith
Ronald D Smith le 7 Fév 2018
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.
Ronald D Smith
Ronald D Smith le 7 Fév 2018
Nevermind! I just noticed the transpose in the below comment. Learn something new every day.
Stephen23
Stephen23 le 7 Fév 2018
Modifié(e) : Stephen23 le 26 Mai 2021
Try num2cell, e.g. where W is your word (a 1xN character vector):
C = num2cell(W(:))
Adam Danz
Adam Danz le 25 Mai 2021
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.

Connectez-vous pour commenter.

Plus de réponses (2)

Tom
Tom le 1 Juil 2013
Modifié(e) : Tom le 1 Juil 2013
str = 'HELLO';
cellstr(str')'
Octa
Octa le 2 Juil 2013
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

Catégories

En savoir plus sur Characters and Strings dans Centre d'aide et File Exchange

Produits

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by