How to divide a string into substrings

2 views (last 30 days)
Hi
How can I fragment a string into substring? For example
Str = 'ABCDEF'
How can i fragment the above string in into following :
'A', 'BCDEF'
'AB' , 'CDEF'
'ABC' , 'DEF'
'ABCD' , 'EF'
'ABCDE' , 'F'
and strore substrings into a struct?

Accepted Answer

madhan ravi
madhan ravi on 27 Apr 2019
Edited: madhan ravi on 27 Apr 2019
Assuming your using version higher than 2016b of MATLAB:
Str='A':'F';
Z=repmat(Str,strlength(Str)-1,1);
f = @(x)regexp(""+x,'\w*','match');
ZZ=[f(tril(Z)),f(triu(Z,1))];
S=cell2struct(ZZ,{'First_Part','Second_Part'},2)
For older versions:
Str='ABCDEF';
Z=repmat(Str,strlength(Str)-1,1);
f = @(x)regexp(cellstr(x),'\w*','match');
ZZ=[f(tril(Z)),f(triu(Z,1))];
S=cell2struct(reshape(ZZ,[],2),{'First_Part','Second_Part'},2)

More Answers (0)

Categories

Find more on Structures in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!