MATLAB: Create a table/matrix of strings

prefixstring

Hi!
I have a cell array with these strings:
'(43)2'
'(43)42(34)'
'042123'
From them, I want to obtain a matrix or a table like this
(43) (43)2
(43) (43)4 (43)42 (43)42(34)
0 04 042 0421 04212 042123
Can you help me?

Best Answer

Here is one way to do it:
c = {'(43)2'
'(43)42(34)'
'042123'};
substrings = regexp(c, '(?:\(\d+\))|\d', 'match');
result = cellfun(@(ss) arrayfun(@(n) [ss{1:n}], 1:numel(ss), 'UniformOutput', false), substrings, 'UniformOutput', false)