Re: Re: search for an operator in an expression

*To*: mathgroup at smc.vnet.net*Subject*: [mg78272] Re: [mg78204] Re: search for an operator in an expression*From*: Daniel Lichtblau <danl at wolfram.com>*Date*: Wed, 27 Jun 2007 05:30:14 -0400 (EDT)*References*: <f5iuqu$a99$1@smc.vnet.net> <f5o8jr$5jo$1@smc.vnet.net> <200706260805.EAA02477@smc.vnet.net>

rob wrote: > Sir, I tried your suggestion as follows: > > expr = 2 + a*Exp[-b x] + Sin[c + b] + d > > Count[expr, HoldPattern[Plus[__]], Infinity] > > which gives a result of "1". I count 4 "+" in expr. Please, > what am I doing wrong? Thanks. > > dh wrote: > > >>Hi Daniel, >> >>you may use "Count". Take care to search on all "levels" and prevent >> >>evaluation of the operator. Asssuming your expression is in: expr, e.g.: >> >>Count[expr, HoldPattern[ Plus[__] ], Infinity] >> >>hope this helps, Daniel >> >> >>Daniel wrote: >> >>>Is there a way to search for an operator in a symbolic expression? My wish >>>is to show that there is only "+" in a very large expression. Rather than >>>showing an expression on multiple pages I would like to perform a search >>>that shows there is only "+" between the terms. Converting to a string >>>does not seem to work since the expression is written on multiple lines >>>(fractions, exponents etc..) >> >>>Thanks >> If you are looking for the number of plus signs that would appear in the infix form then that goes as follows. Find all subexpressions with head of Plus, then tally the number of arguments less 1. Total[Cases[{expr}, HoldPattern[Plus[a__]]:>Length[{a}]-1, Infinity]] Daniel Lichtblau Wolfram Research

**References**:**Re: search for an operator in an expression***From:*rob <josh2499@hotmail.com>