Split the given string into characters

3 ビュー (過去 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 Center および File ExchangeData Type Identification についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by