Come rimuovere gli spazi da una stringa in Python

Introduzione

Questo tutorial fornisce esempi di vari metodi che puoi utilizzare per rimuovere gli spazi vuoti da una stringa in Python.

A Python String is immutable, so you can’t change its value. Any method that manipulates a string value returns a new string.

Effettua il deploy delle tue applicazioni Python da GitHub utilizzando la Piattaforma App di DigitalOcean. Lascia che DigitalOcean si concentri sulla scalabilità della tua app.

Gli esempi in questo tutorial utilizzano la console interattiva Python nella riga di comando per dimostrare diversi metodi che rimuovono gli spazi. Gli esempi utilizzano la seguente stringa:

s = '  Hello  World   From DigitalOcean \t\n\r\tHi There  '

L’output è:

Output
Hello World From DigitalOcean Hi There

Questa stringa contiene diversi tipi di spazi bianchi e caratteri di nuova riga, come spazio ( ), tabulazione (\t), nuova riga (\n) e ritorno a capo (\r).

Rimuovere gli spazi iniziali e finali utilizzando il metodo strip()

Il metodo strip() della stringa Python rimuove i caratteri iniziali e finali da una stringa. Il carattere predefinito da rimuovere è lo spazio.

Dichiara la variabile stringa:

  1. s = ' Hello World From DigitalOcean \t\n\r\tHi There '

Utilizza il metodo strip() per rimuovere gli spazi vuoti iniziali e finali:

  1. s.strip()

L’output è:

Output
'Hello World From DigitalOcean \t\n\r\tHi There'

Se desideri rimuovere solo gli spazi iniziali o finali, puoi utilizzare i metodi lstrip() e rstrip().

Rimuovi tutti gli spazi utilizzando il metodo replace()

Puoi utilizzare il metodo replace() per rimuovere tutti i caratteri di spazi vuoti dalla stringa, incluso tra le parole.

Dichiara la variabile stringa:

  1. s = ' Hello World From DigitalOcean \t\n\r\tHi There '

Utilizza il metodo replace() per sostituire gli spazi con una stringa vuota:

  1. s.replace(" ", "")

L’output è:

Output
'HelloWorldFromDigitalOcean\t\n\r\tHiThere'

Rimuovi spazi duplicati e caratteri di nuova riga utilizzando i metodi join() e split()

Puoi rimuovere tutti gli spazi duplicati e i caratteri di nuova riga utilizzando il metodo join() con il metodo split(). In questo esempio, il metodo split() suddivide la stringa in una lista, utilizzando il separatore predefinito di qualsiasi carattere di spaziatura. Successivamente, il metodo join() unisce la lista in una stringa con uno spazio singolo (" ") tra ogni parola.

Dichiara la variabile stringa:

  1. s = ' Hello World From DigitalOcean \t\n\r\tHi There '

Utilizza i metodi join() e split() insieme per rimuovere spazi duplicati e caratteri di nuova riga:

  1. " ".join(s.split())

L’output è:

Output
'Hello World From DigitalOcean Hi There'

Rimuovi tutti gli spazi e i caratteri di nuova riga utilizzando il metodo translate()

Puoi rimuovere tutti gli spazi e i caratteri di nuova riga utilizzando il metodo translate(). Il metodo translate() sostituisce i caratteri specificati con quelli definiti in un dizionario o tabella di mapping. L’esempio seguente utilizza un dizionario personalizzato con la costante stringa string.whitespace, che contiene tutti i caratteri di spaziatura. Il dizionario personalizzato {ord(c): None for c in string.whitespace} sostituisce tutti i caratteri in string.whitespace con None.

Importa il modulo string in modo da poter utilizzare string.whitespace:

  1. import string

Dichiara la variabile stringa:

  1. s = ' Hello World From DigitalOcean \t\n\r\tHi There '

Usa il metodo translate() per rimuovere tutti i caratteri di spazio bianco:

  1. s.translate({ord(c): None for c in string.whitespace})

L’output è:

Output
'HelloWorldFromDigitalOceanHiThere'

Rimuovere i Caratteri di Spazio Bianco Usando Regex

Puoi anche utilizzare un’espressione regolare per individuare i caratteri di spazio bianco e rimuoverli utilizzando la funzione re.sub().

In questo esempio viene utilizzato il seguente file, regexspaces.py, per mostrare alcuni modi in cui puoi utilizzare le espressioni regolari per rimuovere i caratteri di spazio bianco:

regexspaces.py
import re

s = '  Hello  World   From DigitalOcean \t\n\r\tHi There  '

print('Remove all spaces using regex:\n', re.sub(r"\s+", "", s), sep='')  # \s corrisponde a tutti gli spazi bianchi
print('Remove leading spaces using regex:\n', re.sub(r"^\s+", "", s), sep='')  # ^ corrisponde all'inizio
print('Remove trailing spaces using regex:\n', re.sub(r"\s+$", "", s), sep='')  # $ corrisponde alla fine
print('Remove leading and trailing spaces using regex:\n', re.sub(r"^\s+|\s+$", "", s), sep='')  # | per la condizione OR

Esegui il file dalla riga di comando:

python3 regexspaces.py

Otterrai il seguente output:

Remove all spaces using regex:
HelloWorldFromDigitalOceanHiThere
Remove leading spaces using regex:
Hello  World   From DigitalOcean 	
	Hi There  
Remove trailing spaces using regex:
  Hello  World   From DigitalOcean 	
	Hi There
Remove leading and trailing spaces using regex:
Hello  World   From DigitalOcean 	
	Hi There

Conclusione

In questo tutorial, hai imparato alcuni dei metodi che puoi utilizzare per rimuovere i caratteri di spazio bianco dalle stringhe in Python. Continua il tuo apprendimento riguardo le stringhe Python.

Source:
https://www.digitalocean.com/community/tutorials/python-remove-spaces-from-string