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

Manav Narula 2023年10月10日
  1. 使用 list()join() 函数替换字符串中的字符
  2. 使用 bytearray() 函数替换字符串中的字符
  3. 使用 replace() 函数替换字符串中的字符
  4. 使用字符串连接方法替换字符串中的字符
在 Python 中替换字符串中的字符

字符串是字符的集合。在 Python 中,字符串是不可变的。这意味着不可能修改此类对象,而只能对其进行重新分配,或者可以创建副本。

因此,替换字符串中的字符并不简单。如果要处理可变对象,可以很容易地更改其元素,如下表所示。

l = ["a", "b", "c"]
l[1] = "d"
print(l)

输出:

['a', 'd', 'c']

我们对字符串不做同样的事情。在本教程中,我们将学习如何替换字符串中的字符。

使用 list()join() 函数替换字符串中的字符

在这种方法中,我们使用 list() 函数将字符串转换为字符列表。我们从此列表中更改必要的字符。然后,使用 join() 函数将整个列表组合为单个字符串。

以下代码片段实现了此目的。

s = "Naze"
l = list(s)
l[2] = "m"
s = "".join(l)
print(s)

输出:

Name

这是一种简单有效的方法,尽管它被认为有点慢。

使用 bytearray() 函数替换字符串中的字符

字节数组是 Python 中的可变对象。它是一个字节数组。我们可以使用 bytearray() 函数将字符串转换为字节数组,进行必要的替换,然后使用 str() 函数将其转换回字符串。

例如,

s = "Naze"
b = bytearray(s)
b[2] = "m"
s = str(b)
print(s)

输出:

Name

请注意,此方法在 Python 3.x 及更高版本中失败,因为我们需要在最新版本中对字符串进行编码。

使用 replace() 函数替换字符串中的字符

Python 配备了许多用于处理字符串的函数,因此功能非常齐全。我们可以使用 replace() 函数来更改字符串中的字符。我们必须在函数中指定新旧字符。

以下代码演示了此函数的用法。

s = "Naze"
new_s = s.replace("z", "m")
print(new_s)

输出:

Name

请注意,此方法将所有出现的旧字符替换为新字符。

使用字符串连接方法替换字符串中的字符

如果我们知道要更改的角色位置,则此方法将非常有用且快速。我们将字符串划分到该部分,添加字符,然后将其与剩余的字符串剩余部分连接起来。

以下代码片段实现了此目的。

s = "Naze"
new_s = s[:2] + "m" + s[3:]
print(new_s)

输出:

Name

请注意,这是所有方法中最快的。

作者: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

相关文章 - Python String