- To: mathgroup at smc.vnet.net
- Subject: [mg122961] Pattern replacement
- From: "Dr. Wolfgang Hintze" <weh at snafu.de>
- Date: Fri, 18 Nov 2011 07:50:14 -0500 (EST)
- Delivered-to: firstname.lastname@example.org
My questions are rather elementary.
I wish to replace expressions of the form
-1/2+u by 2u-1
-1/3+u by 3u-1
and so on.
Trying the replacement
(1) (-1/2+u)/.(-1/q_ + u) -> (q x-1)
does not work, i.e. leaves the original expression unchanged.
Using FullForm to reveal the structure gives
(2) FullForm[Rational[-1, 2] + u]
Now the replacement in explicit form works:
(3) (-1/2+u)/.(Rational[-1, 2] + u) -> (q u -1)
But this is not a nice way to write it.
My questions are
1) Are there better ways to implement the replacement?
2) How do I "undo" FullForm, i.e. which command produces -1/2+u from
Rational[-1,2] + u ?
(I can do it by ToExpression["Rational[-1,2] + u"] but maybe there
is another way avoiding going to strings).
Thanks in advance
Prev by Date:
Re: x and y plot finding maximum
Next by Date:
Re: NIntegrate to compute LegendreP approximations to functions
Previous by thread:
Re: How to force integers
Next by thread:
Re: Pattern replacement