Come rimuovere gli spazi bianchi in una stringa in Python

Jinku Hu 3 gennaio 2023
  1. Rimuovere gli spazi bianchi all’inizio di una stringa in Python
  2. Rimuovere gli spazi bianchi alla fine di una stringa in Python
  3. Rimuovere i caratteri bianchi sia all’inizio che alla fine di una stringa in Python
  4. Rimuovere tutti i bianchi di una stringa in Python
  5. Rimuovere solo i bianchi duplicati di una stringa in Python
Come rimuovere gli spazi bianchi in una stringa in Python

Di seguito viene mostrato come rimuovere gli spazi bianchi da una stringa. Potrebbe essere principalmente classificato in due diversi approcci, uno è il metodo Python str, come str.split() e str.replace(); l’altro è il metodo di espressione regolare Python.

Useremo la stringa " Demo Example " come la stringa da elaborare negli esempi seguenti.

Rimuovere gli spazi bianchi all’inizio di una stringa in Python

Metodo str.lstrip()

>>> demo = " Demo  Example  "
>>> demo.lstrip()
"Demo  Example  "

Qui, il metodo str.lstrip() rimuove i caratteri iniziali specificati nell’argomento del metodo. Se non viene fornito alcun argomento, rimuove semplicemente gli spazi bianchi iniziali.

Metodo Python regex

>>> import re
>>> demo = " Demo  Example  "
>>> re.sub(r"^\s+", "", demo)
"Demo  Example  "

^ forza regex trova la stringa corrispondente solo all’inizio, e \s significa far combaciare tutti i diversi tipi di spazi bianchi come spazio bianco, tab, ritorno, ecc. o in altre parole, è uguale all’insieme di questi caratteri speciali [ \t\n\r\f\v]. + indica che dovrebbe corrispondere al maggior numero possibile di spazi bianchi.

Si può fare riferimento a questo Python regular expression tutorial per saperne di più su regex.

Rimuovere gli spazi bianchi alla fine di una stringa in Python

Metodo str.rstrip()

Al contrario di str.lstrip(), che mette a nudo i caratteri all’inizio della stringa, str.rstrip() mette a nudo i caratteri alla fine.

>>> demo = " Demo  Example  "
>>> demo.lstrip()
" Demo  Example"

Metodo Python regex

Allo stesso modo, si dovrebbe usare un’espressione che corrisponda agli spazi bianchi alla fine della stringa.

>>> import re
>>> demo = " Demo  Example  "
>>> re.sub(r"\s+$", "", demo)
" Demo  Example"

Rimuovere i caratteri bianchi sia all’inizio che alla fine di una stringa in Python

Metodo str.strip()

str.strip() è la combinazione di str.lstrip() e str.rstrip() per eliminare gli spazi bianchi all’inizio e alla fine della stringa.

>>> demo = " Demo  Example  "
>>> demo.strip()
"Demo  Example"

Python regex sub() metodo

>>> import re
>>> demo = " Demo  Example  "
>>> re.sub(r"^\s+|\s+$", "", demo)
"Demo  Example"

Rimuovere tutti i bianchi di una stringa in Python

Python stringa sostituisce il metodo str.replace()

Non è necessario controllare la posizione dello spazio bianco. Pertanto, si potrebbe usare il metodo str.replace() per sostituire tutti gli spazi bianchi con la stringa vuota.

>>> demo = " Demo  Example  "
>>> demo.replace(" ", "")
'DemoExample'

La stringa Python regex replace sub() method

L’espressione regex potrebbe essere solo \s+ per abbinare i bianchi.

>>> import re
>>> demo = " Demo  Example  "
>>> re.sub(r"\s+", "", demo)
"DemoExample"

Rimuovere solo i bianchi duplicati di una stringa in Python

Metodo di divisione delle stringhe Python str.split() str.split()

>>> demo = " Demo  Example  "
>>> " ".join(demo.split())
'Demo Example'

str.split() restituisce una lista della sotto-corde nella stringa, usando gli spazi bianchi come stringa delimitatrice.

Metodo Python regex split re.split()

>>> import re
>>> demo = " Demo  Example  "
>>> " ".join(re.split(r"\s+", demo)
" Demo Example "
Attenzione
I risultati di re.split() e str.split() sono diversi dove re.split() avrà una stringa vuota all’inizio o alla fine della lista se la stringa ha spazi bianchi in queste posizioni, ma str.split() non include nessuna stringa vuota nel suo risultato.
Autore: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

Articolo correlato - Python String