Replace
更多信息和选项
 
   - 这些规则必须具有 lhs->rhs 或 lhs:>rhs 的形式.
- 可以给出一个规则列表. 按次序应用规则. 返回第一个应用的规则所得到的结果. 如果没有应用到任何一个规则,则返回原表达式 expr.
- 如果规则列表用嵌套列表的形式给出,Replace 将有效地映射到内层列表上. 因此Replace[expr,{{r11,r12},{r21,…},…}] 等价于{Replace[expr,{r11,r12}],Replace[expr,{r21,…}],…}.
- 用 :> 定义的延时规则可以包含 /; 条件.
- Replace 用标准的层次指定:
- 
      
      n 第 1 层到第 n 层 Infinity 第 1 层到 Infinity All 所有层,包括第 0 层 {n} 仅应用第 n 层 {n1,n2} 第 n1 层到第 n2 层 
- 在 Replace 中 levelspec 缺省值是 {0},对应于整个表达式.
- 正层的 n 由指标 n 指定的 expr 所有部分组成.
- 负层的-n 由带有深度 n 的 expr 所有部分组成.
- 层 -1 由不带子集的数值、符号和其它对象组成.
- 如果 levelspec 包括多个层,先匹配给定的子表达式中更深层的表达式.
- 选项设置 Heads->True 下,Replace 也作用于表达式的头部和其它部分.
- 对 levelspec 指定的部分应用替换,甚至在它们有 Hold 或相关包装下.
- Replace[rules][expr] 等价于 Replace[expr,rules].
范例
打开所有单元 关闭所有单元基本范例 (4)
范围 (15)
替换列表中测试方程的结果为 True 的元素:
Replace 还可用于 RuleDelayed:
Dispatch 可以代替规则列表:
Association 可以代替规则列表:
对 Association 中的所有值应用函数:
反转 Association 中的键和值:
把 Association 的规则提取到列表中:
选项 (2)
应用 (1)
属性和关系 (12)
层规定 All 等价于 {0,-1} 和 {0,∞}:
如果规则与多个层相匹配,Replace 将会对所有匹配子表达式进行转换:
当给定多层时,Replace 使用深度优先搜索扫描表达式:
缺省情况下,Replace 替换整个表达式:
ReplaceAll 替换所有匹配的部分:
带有参数 All 的 Replace 将尝试只对每个子表达式进行一次替换:
ReplaceAll 对所能替换的最大的子表达式进行替换,然后停止操作:
ReplaceRepeated 重复应用 ReplaceAll 直到表达式不再变化为止:
Replace 在特定层进行模式匹配:
ReplacePart 重写指定位置上的子表达式:
ReplaceList 给出所有可能的匹配组成的列表:
Replace 给出第一个标准匹配:
Replace 可以对整个关联进行转换:
Replace 匹配给定层级的个别表达式:
SequenceReplace 匹配第一层的表达式序列:
当且仅当 MatchQ[expr,lhs] 得到 True 结果时,Replace[expr,lhsrhs] 返回转换后的结果:
参见
ReplaceAll ReplaceRepeated StringReplace ReplaceAt ReplaceList SequenceReplace Lookup MatchQ FreeQ PolynomialReduce
Function Repository: KeyReplace
技术笔记
- 
    ▪
    
- 运用变换规则
相关链接
历史
1988年引入 (1.0) | 在以下年份被更新:1999 (4.0) ▪ 2000 (4.1) ▪ 2002 (4.2) ▪ 2014 (10.0)
文本
Wolfram Research (1988),Replace,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Replace.html (更新于 2014 年).
CMS
Wolfram 语言. 1988. "Replace." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2014. https://reference.wolfram.com/language/ref/Replace.html.
APA
Wolfram 语言. (1988). Replace. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/Replace.html 年
BibTeX
@misc{reference.wolfram_2025_replace, author="Wolfram Research", title="{Replace}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/Replace.html}", note=[Accessed: 31-October-2025]}
BibLaTeX
@online{reference.wolfram_2025_replace, organization={Wolfram Research}, title={Replace}, year={2014}, url={https://reference.wolfram.com/language/ref/Replace.html}, note=[Accessed: 31-October-2025]}
 
    