Introduzione

In questo articolo, parleremo di come sostituire una sottostringa all'interno di una stringa in Python, usando il metodo replace().

Metodo .replace ()

In Python, le stringhe sono rappresentate come str oggetti immutabili. La classe str include molti metodi che ti consentono di manipolare le stringhe.

Il metodo .replace() accetta la sintassi seguente:

str.replace(old, new[, maxreplace])
  • str - La stringa con cui stai lavorando.
  • old - La sottostringa che si desidera sostituire.
  • new - La sottostringa che sostituisce la sottostringa precedente.
  • maxreplace - Argomento facoltativo. Il numero di corrispondenze della sottostringa precedente che si desidera sostituire. Le partite vengono contate dall'inizio della stringa.

Il metodo restituisce una copia della stringa srt con alcune o tutte le corrispondenze della sottostringa old sostituite da new. Se maxreplace non viene indicato, tutte le occorrenze vengono sostituite.

Nell'esempio seguente stiamo sostituendo la sottostringa far in stringa s con miles:

s = 'A long time ago in a galaxy far, far away.'
s.replace('far', 'miles')

Il risultato è una nuova stringa:

'A long time ago in a galaxy miles, miles away.'

I letterali stringa sono generalmente racchiusi tra virgolette singole, anche se è possibile utilizzare anche virgolette doppie.

Quando maxreplace viene fornito l'argomento facoltativo , limiterà il numero di corrispondenze sostituite. Nel seguente esempio stiamo sostituendo solo la prima occorrenza:

s = 'My ally is the Force, and a powerful ally it is.'
s.replace('ally', 'friend', 1)

La stringa del risultato sarà simile a questa:

'My friend is the Force, and a powerful ally it is.'

Per eliminare una sottostringa, utilizzare in sostituzione una stringa vuota ''. Ad esempio, per rimuovere space dalla stringa seguente si utilizzerà:

s = 'That’s no moon. It’s a space station.'
s.replace('space ', '')

La nuova stringa sarà simile alla seguente:

`That’s no moon. It’s a station.'

Sostituisci sottostringa in Elenco di stringhe

Per sostituire una sottostringa in un elenco di stringhe, utilizzare il costrutto di comprensione dell'elenco come mostrato di seguito:

s.replace('old', 'new') for s in list

Diamo un'occhiata al seguente esempio:

names = ['Anna Grace', 'Betty Grace', 'Emma Grace']
new_names = [s.replace('Grace', 'Lee') for s in names]
print(new_names)

Il codice sopra crea una copia dell'elenco con tutte le occorrenze della sottostringa Grace sostituite da Lee:

['Anna Lee', 'Betty Lee', 'Emma Lee']

Conclusione

La sostituzione di una sottostringa in una stringa è una delle operazioni più basilari durante la scrittura di codice in Python. Dopo aver letto questo tutorial, dovresti avere una buona conoscenza di come usare il metodo replace().