This is documentation for Mathematica 6, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.2)


Replace[expr, rules]
applies a rule or list of rules in an attempt to transform the entire expression expr.
Replace[expr, rules, levelspec]
applies rules to parts of expr specified by levelspec.
  • The rules must be of the form lhs->rhs or lhs:>rhs.
  • A list of rules can be given. The rules are tried in order. The result of the first one that applies is returned. If none of the rules apply, the original expr is returned.
  • If the rules are given in nested lists, Replace is effectively mapped onto the inner lists. Thus Replace[expr, {{r11, r12}, {r21, ...}, ...}] is equivalent to {Replace[expr, {r11, r12}], Replace[expr, {r21, ...}], ...}.
  • Delayed rules defined with :> can contain /; conditions.
  • Replace uses standard level specifications:
nlevels 1 through n
Infinitylevels 1 through Infinity
{n}level n only
{n1,n2}levels n1 through n2
  • The default value for levelspec in Replace is {0}, corresponding to the whole expression.
  • A positive level n consists of all parts of expr specified by n indices.
  • A negative level -n consists of all parts of expr with depth n.
  • Level -1 consists of numbers, symbols and other objects that do not have subparts.
  • With the option setting Heads->True, Replace includes heads of expressions, and their parts.
  • Replacements are performed to parts specified by levelspec even when those parts have Hold or related wrappers.
New in 1 | Last modified in 4