How to split letters in a word into an array

 采纳的回答

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 个评论

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.
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.

请先登录,再进行评论。

更多回答(2 个)

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

类别

帮助中心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