将元胞数组分成几列 MATLAB
separating cell array into several columns MATLAB
我有一个包含一列的元胞数组。每行仅包含一列。每个单元格由一个字符串组成。如何通过根据 space 分隔字符串,将元胞数组中一列的内容分成几列。每个字符串都有不同的长度。示例:
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' []
}
你可以这样做:
splitCellArray = regexp(cellArrayM,' ','split')
你可以这样做:
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
我有一个包含一列的元胞数组。每行仅包含一列。每个单元格由一个字符串组成。如何通过根据 space 分隔字符串,将元胞数组中一列的内容分成几列。每个字符串都有不同的长度。示例:
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' []
}
你可以这样做:
splitCellArray = regexp(cellArrayM,' ','split')
你可以这样做:
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