Re: patterns
- To: mathgroup at smc.vnet.net
- Subject: [mg101893] Re: patterns
- From: Albert Retey <awnl at gmx-topmail.de>
- Date: Mon, 20 Jul 2009 19:22:47 -0400 (EDT)
- References: <h41f5m$rin$1@smc.vnet.net>
Francisco Gutierrez wrote: > Dear Group: > Ther output of a code I made (which includes a minimization) is of the following guise: > > {11.2,{dUp[1]->0.,dUp[2]->0.,dUp[3]->0.,dUp[4]->2.1,dUp[5]->0.,dUm[1]->0.,dUm[2]->2.6,dUm[3]->0.5,dUm[4]->0.,dUm[5]->0.,dLp[1]->0.,dLp[2]->0.,dLp[3]->0.,dLp[4]->1.4,dLp[5]->0.,dLm[1]->0.,dLm[2]->3.1,dLm[3]->1.5,dLm[4]->0.,dLm[5]->0.,a[1]->6.75,a[2]->1.25,c[1]->1.65,c[2]->0.15}} > > Of this output, I want to capture only the a's and the c's. There is an easy and sloppy manner, but general and I think not slow, to do this because they appear always at the end of the output. But I wonder if it were possible to use pattern matching to make the same thing, something of the sort of Cases[myoutput, a[__]]. Is it possible? How can it be done? > Thanks > Francisco > If I define res = <above list> this will do the trick: Cases[res, Verbatim[Rule][(a | c)[___], _], {2}] I think it should be efficient enough if your list of rules is less than a few hundred or thousend entries long... hth, albert