Pattern replacement

*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*: l-mathgroup@mail-archive0.wolfram.com

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) Out: -1+q*u 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 Wolfgang

**Follow-Ups**:**Re: Pattern replacement***From:*Bob Hanlon <hanlonr357@gmail.com>