Re: pattern matching all list elements but last
- To: mathgroup at smc.vnet.net
- Subject: [mg54560] Re: [mg54539] pattern matching all list elements but last
- From: "Ingolf Dahl" <ingolf.dahl at telia.com>
- Date: Wed, 23 Feb 2005 03:11:31 -0500 (EST)
- Reply-to: <ingolf.dahl at telia.com>
- Sender: owner-wri-mathgroup at wolfram.com
Hi Trevor, This does the trick ls /. {{a___Integer, b_Integer} :> {Sequence @@ ({a} + 100), b}} Best regards Ingolf Dahl ingolf.dahl at telia.com Sweden -----Original Message----- From: Trevor Baca [mailto:trevorbaca at gmail.com] To: mathgroup at smc.vnet.net Subject: [mg54560] [mg54539] pattern matching all list elements but last hi mathgroup folks, let's say ls looks like this: ls = {{1}, {2,3}, {4,5,6}, {7,8,9,10}} is there an elegant way to match all integers *except the last (rightmost)* in each list and, say, add 100 to each? ls /. <magic replacement rule goes here> or ls //. <magic replacement rule goes here> to give {{1}, {102,3}, {104,105,6}, {107,108,109,10}}? this works: Release[ ls //. {a___, b_Integer, c___, z_Integer} :> {a, Hold[b + 100], c, z} ] but is there a more elegant pattern, possibly one that avoids the Hold-Release trick? trevor.