ReplaceAll

expr/.rulesReplaceAll[expr,rules]

应用一个规则或规则列表尽可能转换一个表达式 expr 的每个子部分.

ReplaceAll[rules]

表示可以应用于表达式的 ReplaceAll 的操作符格式.

更多信息

  • ReplaceAll 查看 expr 的每个部分,尝试所有的 rules,然后继续 expr 的下一部分. 使用应用到一个特定部分的第一个规则;在这个部分或它的任何子集没有尝试更多的规则.
  • ReplaceAll 仅对一个表达式应用特定规则一次.
  • 如果没有任何规则被应用,expr/.rules 返回 expr.
  • ReplaceAll[rules][expr] 等价于 ReplaceAll[expr,rules].

范例

打开所有单元关闭所有单元

基本范例  (5)

用数值替换变量:

用列表替换变量:

替换表达式的标头:

用模式把变量和匹配的部分结合在一起:

应用第一个匹配的规则:

分别应用每个规则:

以操作符格式使用 ReplaceAll

范围  (14)

如果没有相匹配的规则,则返回原来的表达式:

匹配只有一个参数的表达式:

匹配有一个或更多参数的表达式:

匹配有零个或更多参数的表达式:

用特定的标头替换表达式:

PatternTest 替换测试方程的结果为 True 的部分:

Condition 对满足布尔表达式的部分进行替换:

替换成对中的一对:

通过限制模式取代每个内部对:

ReplaceAll 还可用于 RuleDelayed

根据结构插入保留表达式中:

在替换前不对规则的右侧进行运算:

在替换前对规则的右侧进行运算:

Dispatch 可以代替规则列表:

Association 可以代替规则列表:

Association 作为替换用的模式:

KeyValuePattern 在规则列表中进行替换:

Association 中提取和规则匹配的键:

从规则列表中找出满足某个标准的键:

属性和关系  (7)

空列表被视为不含有匹配的规则:

当用列表的列表进行替换时,结果为同样长度的列表:

只有第一条匹配的规则被应用于每个部分:

反复调用 ReplaceAll 将每个规则应用于所有部分:

当对保留表达式进行替换时,不强制进行计算:

ReplaceAll 替换所有匹配的部分:

缺省情况下,Replace 替换整个表达式:

也允许替换指定层:

ReplaceAll 对所能替换的最大的子表达式进行替换,然后停止操作:

ReplaceRepeated 重复应用 ReplaceAll 直到表达式不再变化为止:

带有参数 AllReplace 将尝试只对每个子表达式进行一次替换:

ReplaceAll 替换和模式匹配的表达式的部分:

ReplacePart 替换位置和模式匹配的表达式的部分:

可能存在的问题  (4)

应用较长的规则列表会比较慢:

使用 Dispatch 会大幅提高速度:

可以用关联来指定替换规则,但是把键视为 Verbatim 值:

与下式比较:

等价于关联的规则列表如下所示:

句号与数字的绑定关系要强过与斜杠的绑定关系,所以下面所示为除法操作:

/. 和数字间插入一个空格以避免这个问题:

大多数情况下,模式只与关联的值进行比较:

对于和 Association 匹配的混合模式,里面的模式同时匹配键和值:

去掉和 Association 匹配的标头,只与值进行比较:

Wolfram Research (1988),ReplaceAll,Wolfram 语言函数,https://reference.wolfram.com/language/ref/ReplaceAll.html (更新于 2015 年).

文本

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 年

BibTeX

@misc{reference.wolfram_2024_replaceall, author="Wolfram Research", title="{ReplaceAll}", year="2015", howpublished="\url{https://reference.wolfram.com/language/ref/ReplaceAll.html}", note=[Accessed: 18-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_replaceall, organization={Wolfram Research}, title={ReplaceAll}, year={2015}, url={https://reference.wolfram.com/language/ref/ReplaceAll.html}, note=[Accessed: 18-November-2024 ]}