Introduzione
Una delle operazioni più comuni quando si lavora con le stringhe è quella di dividere una stringa in una array di substrings usando un determinato delimitatore.
In questo articolo, parleremo di come dividere la stringa in Python.
Metodo .split ()
In Python, le stringhe sono rappresentate come oggetti str immutabili . La classe str viene fornita con una serie di metodi stringa che consentono di manipolare la stringa.
Il metodo .split() restituisce un elenco di substrings separate da un delimitatore, sintassi:
str.split(delim=None, maxsplit=-1)
Il delimitatore può essere un carattere o una sequenza di caratteri, non un'espressione regolare.
Nell'esempio seguente la stringa s verrà divisa usando la virgola , come delimitatore.
s = 'Piero,Antonio,Luca'
s.split(',')
Il risultato sarà un elenco di stringhe:
['Piero', 'Antonio', 'Luca']
È possibile utilizzare anche virgolette doppie.
Una sequenza di caratteri può essere utilizzata anche come delimitatore:
s = 'Piero::Antonio::Luca'
s.split('::')
['Piero', 'Antonio', 'Luca']
Quando maxsplit viene dato, limiterà il numero di divisioni. Se non specificato o specificato con -1, non vi è alcun limite al numero di divisioni.
s = 'Piero;Antonio;Luca'
s.split(';', 1)
L'elenco dei risultati avrà maxsplit +1 elementi massimi :
['Piero', 'Antonio;Luca']
Se delim non viene specificato o è Null, la stringa verrà suddivisa utilizzando lo spazio vuoto come delimitatore. Tutti gli spazi vuoti consecutivi sono considerati come un singolo separatore. Inoltre, se la stringa contiene spazi vuoti finali e iniziali, il risultato non avrà stringhe vuote.
Quando non viene utilizzato alcun delimitatore, l'elenco di ritorno non contiene stringhe vuote. Se il delimitatore è impostato su uno spazio vuoto ' ', lo spazio vuoto iniziale , finale e consecutivo farà sì che il risultato contenga stringhe vuote.
Conclusione
La divisione delle stringhe è una delle operazioni più basilari. Dopo aver letto questo tutorial, dovresti avere una buona conoscenza di come dividere le stringhe in Python.