ReplaceAll
expr/.rules 或 ReplaceAll[expr,rules]
应用一个规则或规则列表尽可能转换一个表达式 expr 的每个子部分.
ReplaceAll[rules]
表示可以应用于表达式的 ReplaceAll 的操作符格式.
更多信息
- ReplaceAll 查看 expr 的每个部分,尝试所有的 rules,然后继续 expr 的下一部分. 使用应用到一个特定部分的第一个规则;在这个部分或它的任何子集没有尝试更多的规则.
- ReplaceAll 仅对一个表达式应用特定规则一次.
- 如果没有任何规则被应用,expr/.rules 返回 expr.
- ReplaceAll[rules][expr] 等价于 ReplaceAll[expr,rules].
范例
打开所有单元关闭所有单元基本范例 (5)
范围 (14)
用 PatternTest 替换测试方程的结果为 True 的部分:
用 Condition 对满足布尔表达式的部分进行替换:
ReplaceAll 还可用于 RuleDelayed:
Dispatch 可以代替规则列表:
Association 可以代替规则列表:
用 Association 作为替换用的模式:
用 KeyValuePattern 在规则列表中进行替换:
从 Association 中提取和规则匹配的键:
属性和关系 (7)
反复调用 ReplaceAll 将每个规则应用于所有部分:
ReplaceAll 替换所有匹配的部分:
缺省情况下,Replace 替换整个表达式:
ReplaceAll 对所能替换的最大的子表达式进行替换,然后停止操作:
ReplaceRepeated 重复应用 ReplaceAll 直到表达式不再变化为止:
带有参数 All 的 Replace 将尝试只对每个子表达式进行一次替换:
ReplaceAll 替换和模式匹配的表达式的部分:
ReplacePart 替换位置和模式匹配的表达式的部分:
可能存在的问题 (4)
使用 Dispatch 会大幅提高速度:
可以用关联来指定替换规则,但是把键视为 Verbatim 值:
句号与数字的绑定关系要强过与斜杠的绑定关系,所以下面所示为除法操作:
对于和 Association 匹配的混合模式,里面的模式同时匹配键和值:
去掉和 Association 匹配的标头,只与值进行比较:
文本
Wolfram Research (1988),ReplaceAll,Wolfram 语言函数,https://reference.wolfram.com/language/ref/ReplaceAll.html (更新于 2015 年).
CMS
Wolfram 语言. 1988. "ReplaceAll." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2015. https://reference.wolfram.com/language/ref/ReplaceAll.html.
APA
Wolfram 语言. (1988). ReplaceAll. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/ReplaceAll.html 年