Re: match 1, replace 2
- To: mathgroup at smc.vnet.net
- Subject: [mg56246] Re: match 1, replace 2
- From: bghiggins at ucdavis.edu
- Date: Wed, 20 Apr 2005 05:30:39 -0400 (EDT)
- References: <d42khj$3ac$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Trevor, Try this
ReplaceList[{{1, 2, 3}, {4, 5}, {6, 7, 8, 9}}, {___, x_List, ___} :>
Flatten[{
ReplaceList[(Drop[x, -1] + 100), {___, y_Integer, ___} -> {
y, -1}], Take[x, -1]}]]
{{101, -1, 102, -1, 3}, {104, -1, 5}, {106, -1, 107, -1, 108, -1, 9}}
Cheers,
Brian
Trevor Baca wrote:
> hi mathgroup,
>
> what rule takes
>
> ls = {{1, 2, 3}, {4, 5}, {6, 7, 8, 9}}
>
> to
>
> {{101, -1, 102, -1, 3}, {104, -1, 5}, {106, -1, 107, -1, 108, -1,
> 9}}
>
> ie, matches all integers but the last in each list and then replaces
> each matched integer n with the 2-element sequence Sequence[100 + n,
> -1]?
>
> trevor.