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()
.