How to split letters in a word into an array

 채택된 답변

Jan
Jan 2013년 7월 1일

0 개 추천

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.
Stephen23
Stephen23 2018년 2월 7일
편집: Stephen23 2021년 5월 26일
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개)

Tom
Tom 2013년 7월 1일
편집: Tom 2013년 7월 1일

8 개 추천

str = 'HELLO';
cellstr(str')'
Octa
Octa 2013년 7월 2일

0 개 추천

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에 대해 자세히 알아보기

제품

태그

질문:

MKN
2013년 7월 1일

편집:

2021년 5월 26일

Community Treasure Hunt

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

Start Hunting!

Translated by