如何在 Python 中替换字符串中的字符

了解如何替换 Python 字符串中的字符或子字符串。掌握replace()方法、计数限制以及对多个字符使用翻译。

在编辑器中尝试此解决方案

概述

字符串操作是解析输入、呈现模板、清理数据和生成输出文本的核心。在 Python 中,修改文本块内的特定字符或子字符串非常简单,但需要了解字符串的基本属性:不变性。

由于 Python 字符串是不可变的,因此您无法就地修改它们的字符(例如,写入 `text[0] = "A"` 会引发 `TypeError`)。相反,任何更改字符串的操作都必须创建并返回一个全新的字符串。主要工具是内置的“.replace()”方法。

`.replace(old, new)` 方法在字符串中搜索所有出现的指定子字符串,并将其替换为新的子字符串。您还可以指定可选的第三个参数“count”,它限制从左到右执行的替换次数。对于更复杂的多字符替换,您可以使用“.translate()”方法或带有“re.sub()”函数的正则表达式。

代码和执行输出

该脚本演示了通过使用replace() 方法替换子字符串和字符来修改字符串。

replace_chars.py
在编辑器中尝试
text = "banana apple banana cherry"

# 1. Replace all occurrences of a word
replaced_all = text.replace("banana", "orange")
print("Replaced all:", replaced_all)

# 2. Replace with a count limit (only first occurrence)
replaced_limit = text.replace("banana", "orange", 1)
print("Replaced limit:", replaced_limit)

# 3. Replace individual characters (immutability demonstration)
phrase = "pyth0n"
corrected = phrase.replace("0", "o")
print("Corrected string:", corrected)
端子输出
Replaced all: orange apple orange cherry
Replaced limit: orange apple banana cherry
Corrected string: python

逐步实施

  • 对目标字符串调用 .replace() 方法。
  • 将目标子字符串作为第一个参数传递,并将替换作为第二个参数传递。
  • 如果要限制替换次数,请使用 count 参数。

常见问题解答

如何就地替换字符串中的字符?

你不能,因为 Python 字符串是不可变的。您必须将 .replace() 方法的结果分配回字符串变量:text = text.replace(...)。

Replace() 区分大小写吗?

是的,.replace() 严格区分大小写。要执行不区分大小写的替换,必须将正则表达式与 re 模块和 re.IGNORECASE 结合使用。

相关主题

推荐的 Python 资源

通过相关的交互式教程、备忘单和代码比较来扩展您的知识。