Python字符串replace()方法

19 2025年7月 | 阅读 5 分钟

Python 的 字符串 replace() 方法 用于替换给定 字符串 中子字符串的所有出现。此方法的好处在于它不会更改原始字符串,而是返回一个新字符串。

replace() 方法区分大小写。因此,它将小写字母和大写字母视为不同的实体。

Python 字符串中 replace() 方法的语法

以下是字符串 replace() 方法的语法

语法

参数

  • old (必需): 此参数表示我们要替换的子字符串。
  • new (必需): 此参数表示我们要替换为之前的值的新子字符串。
  • count (可选): 此参数指定要执行的替换次数。如果用户未提供任何值,则默认情况下,将用新子字符串替换旧子字符串的所有出现。

返回值

此方法通过替换我们要用旧子字符串替换的新子字符串来返回一个新字符串。

字符串 replace() 的示例

现在我们将看一些字符串 replace() 方法的示例。

示例 1:replace() 方法的工作原理

以下示例演示了在 Python 中使用 replace() 方法。

示例

立即执行

输出

Original String: Hello, Welcome to Python Tutorials!
After replacing the substrings: Hello, Welcome to Tpoint Tech!

说明

在此示例中,我们给出了一个字符串。我们使用 replace() 方法将给定字符串中的一个子字符串替换为另一个子字符串。

结果,“Python Tutorials”成功地被“Tpoint Tech”替换。

示例 2:replace() 方法与计数限制的用例

我们可以通过 count 参数限制替换出现的次数。虽然它是一个可选参数,但在只需要特定数量的替换时很有用。

让我们通过一个例子来理解这一点。

示例

立即执行

输出

Original String: Hello Hello Hello World!

After replacing the substrings: Hi Hi Hello World!

说明

在这里,我们可以看到有三个“Hello”子字符串的出现,但由于 count 参数设置为 2,它只替换了前两次出现的“Hello”为“Hi”。

示例 3:展示 replace() 方法区分大小写

从以下示例中,我们将确定字符串 replace() 方法是区分大小写的。

示例

立即执行

输出

Original String: Hello Hello Hello World!

After replacing the substrings: Hello Hello Hello World!

After replacing the substrings: Hi Hi Hi World!

说明

上面的示例表明 Python replace() 方法是区分大小写的。因此,它会认为“H”和“h”是不同的数据。所以,我们会注意到当我们第一次传递“hello”时,replace() 方法什么都没改变,因为它在原始字符串中没有找到“hello”。但当我们传递“Hello”时,它就将其所有出现都替换成了“Hi”。

结论

Python replace() 方法是一个非常有用的工具,因为它允许用户将任何子字符串替换为新的子字符串。使用此方法的好处是它不会修改原始字符串;相反,它用新的子字符串替换旧的子字符串并返回一个新字符串。它被开发人员广泛用于 Python 编程中的字符串操作。

Python 字符串 replace() 方法常见问题解答

1) replace() 方法在 Python 中起什么作用?

Python 字符串 replace() 方法用于替换字符串中子字符串的所有出现。

2) 如果我们在 count 参数中不传递任何值会怎样?

如果用户在 replace() 方法的 count 参数中没有提供任何值,那么默认情况下,将用新子字符串替换旧子字符串的所有出现。

示例

立即执行

输出

Original String:
 Hello Hello Hello World!

After replacing the substrings:
 Hi Hi Hi World!

3) replace() 方法是否区分大小写?

是的,replace() 方法区分大小写。因此,小写和大写被视为不同。例如:“H”和“h”不会相互匹配。

示例

立即执行

输出

Original String:
 Hello Hello Hello World!

After replacing the substrings:
 Hello Hello Hello World!

你会注意到什么都不会被替换,因为我们的原始字符串中不存在“hello”。

4) 如果找不到旧子字符串会怎样?

如果原始子字符串在给定的字符串中找不到,则返回原始字符串而不做任何更改。

让我们通过一个例子来理解这一点。

示例

立即执行

输出

Original String: Welcome to Tpoint Tech!
After replacing the substrings: Welcome to Tpoint Tech!

5) 重复使用 replace() 是否存在性能问题?

是的,尤其是在循环内部,性能是一个问题。每次调用 replace() 方法都会创建一个新字符串,这可能会占用大量内存。对于复杂的模式,请考虑优化或使用正则表达式。


下一个主题Python 字符串