Python Language Dividere una stringa in base a un delimitatore in un elenco di stringhe

Esempio

str.split(sep=None, maxsplit=-1)

str.split prende una stringa e restituisce una lista di sottostringhe della stringa originale. Il comportamento varia a seconda che l'argomento sep sia fornito o omesso.

Se sep non è fornito, o è None , la suddivisione avviene ovunque ci sia spazio bianco. Tuttavia, gli spazi bianchi iniziali e finali vengono ignorati e più caratteri spazi bianchi consecutivi vengono trattati allo stesso modo di un singolo carattere di spaziatura:

>>> "This is a sentence.".split()
['This', 'is', 'a', 'sentence.']

>>> " This is    a sentence.  ".split()
['This', 'is', 'a', 'sentence.']

>>> "            ".split()
[]

Il parametro sep può essere utilizzato per definire una stringa delimitatore. La stringa originale è divisa in cui si verifica la stringa del delimitatore e il delimitatore stesso viene scartato. Più delimitatori consecutivi non vengono trattati allo stesso modo di una singola occorrenza, ma piuttosto creano stringhe vuote da creare.

>>> "This is a sentence.".split(' ')
['This', 'is', 'a', 'sentence.']

>>> "Earth,Stars,Sun,Moon".split(',')
['Earth', 'Stars', 'Sun', 'Moon']

>>> " This is    a sentence.  ".split(' ')
['', 'This', 'is', '', '', '', 'a', 'sentence.', '', '']

>>> "This is a sentence.".split('e')
['This is a s', 'nt', 'nc', '.']

>>> "This is a sentence.".split('en')
['This is a s', 't', 'ce.']

L'impostazione predefinita è dividere ogni occorrenza del delimitatore, tuttavia il parametro maxsplit limita il numero di errori che si verificano. Il valore predefinito di -1 indica nessun limite:

>>> "This is a sentence.".split('e', maxsplit=0)
['This is a sentence.']

>>> "This is a sentence.".split('e', maxsplit=1)
['This is a s', 'ntence.']

>>> "This is a sentence.".split('e', maxsplit=2)
['This is a s', 'nt', 'nce.']

>>> "This is a sentence.".split('e', maxsplit=-1)
['This is a s', 'nt', 'nc', '.']

str.rsplit(sep=None, maxsplit=-1)

str.rsplit ("right split") si differenzia da str.split ("left split") quando viene specificato maxsplit . La divisione inizia alla fine della stringa anziché all'inizio:

>>> "This is a sentence.".rsplit('e', maxsplit=1)
['This is a sentenc', '.']

>>> "This is a sentence.".rsplit('e', maxsplit=2)
['This is a sent', 'nc', '.']

Nota : Python specifica il numero massimo di suddivisioni eseguite, mentre la maggior parte degli altri linguaggi di programmazione specifica il numero massimo di sottostringhe create. Ciò potrebbe creare confusione durante il porting o il confronto del codice.