Dividi una stringa per spazi bianchi in Python
-
Usa il metodo
split()
per dividere una stringa in Python -
Usa
re.split()
per dividere una stringa in Python
Questo tutorial dimostrerà come dividere una stringa per spazi bianchi come delimitatori in Python.
Dividere le stringhe in Python significa tagliare una singola stringa in un array di stringhe a seconda del delimitatore o del separatore utilizzato.
Ad esempio, se una stringa inizializzata come Hello, World! I am here.
esiste, dividendolo con uno spazio bianco come delimitatore si otterrà il seguente output.
["Hello,", "World!", "I", "am", "here."]
Usa il metodo split()
per dividere una stringa in Python
Il metodo di stringa Python incorporato split()
è una soluzione perfetta per dividere le stringhe usando spazi bianchi. Per impostazione predefinita, il metodo split()
restituisce un array di sottostringhe risultanti dalla divisione della stringa originale utilizzando uno spazio bianco come delimitatore.
Ad esempio, utilizziamo lo stesso esempio di stringa Hello, World! I am here.
. Useremo il metodo split()
per separare la stringa in un array di sottostringhe.
string_list = "Hello, World! I am here.".split()
print(string_list)
L’output è come previsto:
["Hello,", "World!", "I", "am", "here."]
Oltre a ciò, il metodo split()
rimuove automaticamente anche gli spazi bianchi iniziali e finali e li tratta come un unico delimitatore di spazi bianchi.
Modifichiamo l’esempio precedente per includere spazi bianchi iniziali, finali e consecutivi casuali.
string_list = " Hello, World! I am here. ".split()
print(string_list)
Un altro scenario che il metodo split()
gestisce automaticamente sono le tabulazioni, i ritorni a capo e i ritorni a capo indicati con \t
, \n
e \r
oltre agli spazi vuoti letterali. I formati di spazi bianchi menzionati sono anche considerati delimitatori e soggetti da ritagliare.
Produzione:
['Hello,', 'World!', 'I', 'am', 'here.']
Per esempio:
string_list = " Hello, World! I am here.\nI am also\there too,\rand here.".split()
print(string_list)
Produzione:
['Hello,', 'World!', 'I', 'am', 'here.', 'I', 'am', 'also', 'here', 'too,', 'and', 'here.']
Considerando questi fattori, non devi preoccuparti di tagliare esplicitamente ogni spazio bianco prima di eseguire la funzione. Questa è una funzionalità utile da avere.
Usa re.split()
per dividere una stringa in Python
Il modulo Python RegEx (espressioni regolari) re
ha anche una funzione predefinita split()
che possiamo usare al posto del metodo split()
integrato. Tuttavia, nota che re.split()
è più lento rispetto al metodo integrato split()
dal punto di vista delle prestazioni.
La funzione re.split()
accetta due parametri principali, una stringa RegEx e la stringa per eseguire la funzione split. La parola chiave RegEx che rappresenta gli spazi bianchi è \s
. \s
è una collazione di ogni tipo di spazio bianco, compresi quelli menzionati sopra (\n
, \t
, \r
, \f
).
Ad esempio, dichiara una stringa ed esegui re.split()
per dividerla in un array di sottostringhe. Per prendere in considerazione gli spazi vuoti finali e iniziali, aggiungere un segno +
alla stringa RegEx per far corrispondere uno o più spazi bianchi consecutivi come un singolo gruppo.
Inoltre, aggiungi la parola chiave r
alla stringa RegEx per assicurarti che Python elabori le sequenze di escape in modo appropriato.
import re
exStr = "Hello, World!\nWelcome\tto my tutorial\rarticle."
print(re.split(r"\s+", exStr))
Usa re.findall()
invece di re.split()
per dividere una stringa in Python
In alternativa, si può usare anche re.findall()
. La funzione findall()
funziona al contrario di split()
. Questa funzione trova tutte le sottostringhe che corrispondono alla stringa RegEx data, mentre il metodo split()
usa la stringa RegEx come delimitatore.
Per usare la funzione findall()
per dividere la stringa usando uno spazio bianco, nega la parola chiave dello spazio bianco \s
mettendo in maiuscolo la lettera (\S
). findall()
accetta gli stessi parametri di split()
.
import re
exStr = "Hello, World!\nWelcome\tto my tutorial\rarticle."
print(re.findall(r"\S+", exStr))
Entrambe le funzioni produrranno lo stesso Output:
['Hello,', 'World!', 'Welcome', 'to', 'my', 'tutorial', 'article.']
In sintesi, il modo migliore e più ottimale per dividere una stringa usando gli spazi bianchi come delimitatore è il metodo split()
incorporato. È collegato all’oggetto stringa e considera gli spazi bianchi iniziali e finali per impostazione predefinita. Anche l’utilizzo di questo non richiede alcuna conoscenza delle espressioni regolari.
Altrimenti, re.split()
e re.findall()
possono essere usati come sostituti del metodo split()
, sebbene entrambe le funzioni siano più lente del metodo integrato split()
.
Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.
LinkedInArticolo correlato - Python String
- Come controllare una stringa è vuota in modo pitonico
- Converti una stringa in nome variabile in Python
- Come rimuovere gli spazi bianchi in una stringa in Python
- Estrai numeri da una stringa in Python
- Come convertire una stringa in datario in Python
- Come convertire una stringa in minuscola in Python 2 e 3