在 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 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