Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2005
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: pattern matching all list elements but last

  • To: mathgroup at smc.vnet.net
  • Subject: [mg54559] Re: [mg54539] pattern matching all list elements but last
  • From: Bob Hanlon <hanlonr at cox.net>
  • Date: Wed, 23 Feb 2005 03:11:31 -0500 (EST)
  • Reply-to: hanlonr at cox.net
  • Sender: owner-wri-mathgroup at wolfram.com

ls={{1},{2,3},{4,5,6},{7,8,9,10}};

ls /. {a___,b_Integer} :> {Sequence@@({a}+100),b}

{{1},{102,3},{104,105,6},{107,108,109,10}}


Bob Hanlon

> 
> From: "Trevor Baca" <trevorbaca at gmail.com>
To: mathgroup at smc.vnet.net
> Date: 2005/02/22 Tue AM 04:24:35 EST
> To: mathgroup at smc.vnet.net
> Subject: [mg54559] [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.
> 
> 


  • Prev by Date: Re: my mathematica no longer renders graphics, even after reinstall
  • Next by Date: Re: Saving file problem
  • Previous by thread: Re: pattern matching all list elements but last
  • Next by thread: Re: pattern matching all list elements but last