Clear[f]
f[list_?VectorQ] := Cases[ (list //. {s___, a, b, a, r___} > {{s}, {r}}) /. {} > Sequence[], _?VectorQ, Infinity]
f[{1, 2, 3, a, b, a, 4, 5, 6, a, b, c, 7, 8, 9, a, b, a, 10, 11, 12}]
{{1, 2, 3}, {4, 5, 6, a, b, c, 7, 8, 9}, {10, 11, 12}}
f[{a, b, a, 1, 2, 3, a, b, a, 4, 5, 6, a, b, c, 7, 8, 9, a, b, a, 10, 11, 12}]
{{1, 2, 3}, {4, 5, 6, a, b, c, 7, 8, 9}, {10, 11, 12}}
f[{1, 2, 3, a, b, a, 4, 5, 6, a, b, c, 7, 8, 9, a, b, a, 10, 11, 12, a, b, a}]
{{1, 2, 3}, {4, 5, 6, a, b, c, 7, 8, 9}, {10, 11, 12}}
f[{a, b, a, 1, 2, 3, a, b, a, 4, 5, 6, a, b, c, 7, 8, 9, a, b, a, 10, 11, 12, a, b, a}]
{{1, 2, 3}, {4, 5, 6, a, b, c, 7, 8, 9}, {10, 11, 12}}
Bob Hanlon
On Thu, Aug 23, 2012 at 2:52 AM, Murta <rodrigomurtax@gmail.com> wrote: > Hi All > > I have a simple problem that is: > > l={1,2,3,a,b,a,4,5,6,a,b,c,7,8,9,a,b,a,10,11,12} > > I want to replace all a,b,a sequence by X to get: > > l={1,2,3,X,4,5,6,a,b,7,8,9,X,10,11,12} > > Then I want to group it by X intervals as > l={{1,2,3},{4,5,6,a,b,7,8,9},{10,11,12}} > > If I don't need to put the intermediate X, even better! > I think the with pattern, RaplaceAll and DeleteCases I can do It. Some clue? > Tks > Murta > > >
