Split the given string into characters

조회 수: 8 (최근 30일)
Abdul Rehan Khan Mohammed
Abdul Rehan Khan Mohammed 2018년 5월 17일
댓글: Image Analyst 2018년 5월 18일
I have a column in my table that has values such as '2.6ELKUxQKWPVJVHxxxxC.4xxxIxSxJJxxxxx', it has altogether 37 single characters. I want to split the string into 37 different columns for further data analysis. I have tried using 'split' function, but it doesn't work.
  댓글 수: 1
Stephen23
Stephen23 2018년 5월 17일
편집: Stephen23 2018년 5월 17일
"I want to split the string into 37 different columns..."
Your char vector already has 37 columns. This is easy to check:
>> str = '2.6ELKUxQKWPVJVHxxxxC.4xxxIxSxJJxxxxx';
>> size(str)
ans =
1 37

댓글을 달려면 로그인하십시오.

채택된 답변

Image Analyst
Image Analyst 2018년 5월 17일
Here's an example for 8 columns. You can expand it to 37 columns.
ca = {'1.6ELKUxQKWPVJVHxxxxC.4xxxIxSxJJxxxxx'; '2.6ELKUxQKWPVJVHxxxxC.4xxxIxSxJJxxxxx'; '3.6ELKUxQKWPVJVHxxxxC.4xxxIxSxJJxxxxx'}
t = cell2table(ca)
% Now we have our table.
% Extract this one column:
col1 = t{:,1}
% Make 37 cell arrays
ca1 = cell(37, 1);
ca2 = cell(37, 1);
ca3 = cell(37, 1);
ca4 = cell(37, 1);
ca5 = cell(37, 1);
ca6 = cell(37, 1);
ca7 = cell(37, 1);
ca8 = cell(37, 1);
for row = 1 : length(col1)
thisRow = col1{row};
ca1{row} = thisRow(1);
ca2{row} = thisRow(2);
ca3{row} = thisRow(3);
ca4{row} = thisRow(4);
ca5{row} = thisRow(5);
ca6{row} = thisRow(6);
ca7{row} = thisRow(7);
ca8{row} = thisRow(8);
end
t2 = table(ca1, ca2, ca3, ca4, ca5, ca6, ca7, ca8)
  댓글 수: 3
Abdul Rehan Khan Mohammed
Abdul Rehan Khan Mohammed 2018년 5월 18일
편집: Abdul Rehan Khan Mohammed 2018년 5월 18일
Thanks! yes, it is a lot simpler.
Image Analyst
Image Analyst 2018년 5월 18일
Yes simpler, but I agree with Guillaume that it's better to leave it as a string and not create a table with all those columns.

댓글을 달려면 로그인하십시오.

추가 답변 (2개)

KSSV
KSSV 2018년 5월 17일
str = '2.6ELKUxQKWPVJVHxxxxC.4xxxIxSxJJxxxxx' ;
iwant = cell(1,length(str)) ;
for i = 1:length(str)
iwant{i} = str(i) ;
end
  댓글 수: 3
KSSV
KSSV 2018년 5월 17일
편집: KSSV 2018년 5월 17일
Yaaaa..:/
Guillaume
Guillaume 2018년 5월 17일
And even much simpler is not to bother at all. str already has 37 different columns. Each one can be accessed with str(columnindex).

댓글을 달려면 로그인하십시오.


Guillaume
Guillaume 2018년 5월 17일
A char array such as
str = '2.6ELKUxQKWPVJVHxxxxC.4xxxIxSxJJxxxxx'
already has different columns. If you want to access column 6 of str, it's simply:
str(6)
Exactly the same as when accessing columns of a numerical matrix.
  댓글 수: 1
Image Analyst
Image Analyst 2018년 5월 17일
He means columns of his table, not columns of that string.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Data Type Identification에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by