Sostituisci il carattere in una stringa in Python

Manav Narula 22 giugno 2021
  1. Usa le funzioni list() e join() per sostituire un carattere in una stringa
  2. Usa la funzione bytearray() per sostituire un carattere in una stringa
  3. Usa la funzione replace() per sostituire i caratteri in una stringa
  4. Utilizzare il metodo di concatenazione di stringhe per sostituire un carattere in una stringa
Sostituisci il carattere in una stringa in Python

Una stringa è una raccolta di caratteri. In Python, le stringhe sono immutabili. Significa che è impossibile modificare tali oggetti e solo essere riassegnati, oppure è possibile crearne una copia.

Per questo motivo, non è semplice sostituire i caratteri in una stringa. Se abbiamo a che fare con un oggetto mutabile, possiamo facilmente cambiare i suoi elementi, come possiamo in una lista come mostrato di seguito.

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

Produzione:

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

Non facciamo lo stesso con una stringa. In questo tutorial impareremo come sostituire un carattere in una stringa.

Usa le funzioni list() e join() per sostituire un carattere in una stringa

In questo metodo, convertiamo la stringa in una lista di caratteri utilizzando la funzione list(). Cambiamo il carattere necessario da questo elenco. Quindi combiniamo l’intera lista in una singola stringa usando la funzione join().

Il frammento di codice seguente implementa questo.

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

Produzione:

Name

Questo è un metodo semplice ed efficiente, anche se considerato un po’ lento.

Usa la funzione bytearray() per sostituire un carattere in una stringa

Un array di byte è un oggetto mutabile in Python. È un array di byte. Possiamo convertire la stringa in un array di byte usando la funzione bytearray(), fare le necessarie sostituzioni e poi riconvertirla in una stringa usando la funzione str().

Per esempio,

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

Produzione:

Name

Nota che questo metodo fallisce in Python 3.x e versioni successive poiché abbiamo bisogno di codificare la stringa nelle versioni recenti.

Usa la funzione replace() per sostituire i caratteri in una stringa

Python è molto ben equipaggiato con molte funzioni per lavorare con le stringhe. Possiamo usare la funzione replace() per cambiare i caratteri in una stringa. Dobbiamo specificare i caratteri vecchi e nuovi nella funzione.

Il codice seguente mostra l’utilizzo di questa funzione.

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

Produzione:

Name

Nota che questo metodo sostituisce tutte le occorrenze del vecchio carattere con quello nuovo.

Utilizzare il metodo di concatenazione di stringhe per sostituire un carattere in una stringa

Se conosciamo la posizione del personaggio che vogliamo cambiare, questo metodo può essere molto utile e veloce. Dividiamo la stringa fino a quella parte, aggiungiamo il carattere e quindi lo concateniamo con la parte rimanente della stringa che rimane.

Il frammento di codice seguente implementa questo.

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

Produzione:

Name

Nota che questo è il più veloce di tutti i metodi.

Autore: 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

Articolo correlato - Python String