将单元格数组分成几列MATLAB

时间:2017-07-25 02:04:13

标签: matlab split cell-array

我有一个包含一列的单元格数组。每行只包含一列。每个单元格由一个字符串组成。如何通过基于空格分隔字符串,将单元格数组中一列的内容分成几列。每个字符串有不同的长度。例如:

cellArrayM= {
  'hh pp'
  'my 2 ewr 3234 csdf'
  'input l 34'
  'output K 99 100'
 }

result={
   'hh'     'pp' []    []     []
   'my'     '2' 'ewr' '3234' 'csdf'
   'input'  'l' '34'  []      []
   'output' 'k' '99'  '100'   []
         }

2 个答案:

答案 0 :(得分:1)

你可以这样做:

x = cellfun(@(x) strsplit(x), cellArrayM, 'uniformoutput', 0);
result = cell(numel(x), max(cellfun(@numel, x)));
for k = 1:numel(x)
    result(k, 1:numel(x{k})) = x{k};
end

答案 1 :(得分:-1)

你可以这样做:

splitCellArray = regexp(cellArrayM,' ','split')