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>
- Re: Pattern replacement