Vai al contenuto principale

Come rimuovere gli spazi da una stringa in Python: tre metodi diversi

Impara le basi per rimuovere i caratteri iniziali e finali da una stringa in Python.
Aggiornato 29 set 2026  · 6 min leggi

Scopri con l'IA

ChatGPTClaudePerplexity

Eliminare caratteri superflui è un compito fondamentale quando si lavora con dati testuali in Python, soprattutto nelle fasi di pulizia e preparazione dei dati nei progetti di data science. Il trimming aiuta a rimuovere caratteri indesiderati, come gli spazi bianchi, dall'inizio e dalla fine delle stringhe, rendendo i tuoi dati più coerenti e pronti per l'analisi.

In questo tutorial ti guiderò attraverso i tre metodi principali per rifinire le stringhe in Python: .strip(), .lstrip() e .rstrip(), e tratterò casi d'uso specifici per mostrarne versatilità e utilità in scenari reali.

3 metodi per rifinire una stringa in Python

Python fornisce metodi integrati per rifinire le stringhe, rendendo semplice pulire e pre-elaborare i dati testuali. Questi metodi includono

  • .strip(): rimuove i caratteri iniziali e finali (per impostazione predefinita gli spazi bianchi).
  • .lstrip(): rimuove i caratteri iniziali (per impostazione predefinita gli spazi bianchi) dal lato sinistro della stringa.
  • .rstrip(): rimuove i caratteri finali (per impostazione predefinita gli spazi bianchi) dal lato destro della stringa.

Comprendere questi metodi consente una manipolazione e preparazione del testo efficiente, cruciale per qualsiasi attività di data science che coinvolga dati testuali.

1. Rimuovere gli spazi bianchi iniziali e finali dalle stringhe in Python usando .strip()

Il metodo .strip() è progettato per eliminare sia i caratteri iniziali che quelli finali da una stringa. Viene usato più comunemente per rimuovere gli spazi bianchi. Ecco un esempio di seguito, applicato alla stringa " I love learning Python! ".

text = "   I love learning Python!   "
trimmed_text = text.strip()
print(trimmed_text)  # Output: "I love learning Python!"

Questo metodo è particolarmente utile per standardizzare stringhe che possono presentare quantità variabili di spazi bianchi all'inizio e alla fine.

2. Rimuovere gli spazi bianchi iniziali dalle stringhe in Python usando .lstrip()

Il metodo .lstrip() agisce sul lato sinistro di una stringa, rimuovendo i caratteri iniziali. Per impostazione predefinita rimuove gli spazi bianchi, ma può essere impostato per rimuovere caratteri specifici. Ecco il metodo .lstrip() applicato alla stessa stringa " I love learning Python! " dell'esempio precedente:

text = "   I love learning Python!   "
left_trimmed_text = text.lstrip()
print(left_trimmed_text)  # Output: "I love learning Python!   "

.lstrip() è utile quando devi ripulire stringhe che iniziano con spazi o caratteri indesiderati, ad esempio in elenchi di nomi o in dati categoriali.

3. Rimuovere gli spazi bianchi finali dalle stringhe in Python usando .rstrip()

Il metodo .rstrip() completa .lstrip() rimuovendo i caratteri finali dal lato destro di una stringa. Condivide la flessibilità di specificare quali caratteri rimuovere. Ecco lo stesso esempio di prima:

text = "   I love learning Python!   "
right_trimmed_text = text.rstrip()
print(right_trimmed_text)  # Output: "   I love learning Python!"

Usa .rstrip() quando lavori con stringhe che hanno caratteri o spazi indesiderati alla fine, come punteggiatura finale o annotazioni.

Rimuovere caratteri specifici da una stringa in Python

I metodi di rifinitura delle stringhe di Python ti permettono di specificare quali caratteri rimuovere dall'inizio e dalla fine delle stringhe. Questa funzionalità aggiunge un livello di flessibilità ai metodi .strip(), .lstrip() e .rstrip(), consentendo operazioni di pulizia più mirate.

Tuttavia, come vedremo negli esempi, è importante riconoscere i limiti intrinseci di questi metodi: non sono in grado di rimuovere caratteri dal mezzo delle stringhe né di gestire rimozioni più complesse basate su pattern. Per esigenze più avanzate, le espressioni regolari (regex) offrono una soluzione più robusta.

Rimuovere caratteri specifici da una stringa in Python usando .strip()

Per iniziare, vediamo il metodo .strip(). Il metodo .strip() può essere personalizzato per rimuovere non solo gli spazi bianchi ma anche caratteri specifici da entrambe le estremità di una stringa. Ecco un esempio:

text = "!!!I love learning Python!!!"
specific_char_trimmed = text.strip('!')
print(specific_char_trimmed)  # Output: "I love learning Python"

Immaginiamo ora che la nostra stringa sia in realtà "xxxyyy I love learning Python xxxyyy". Dato che ”xxx” e ”yyy” sono sia iniziali sia finali nella stringa, è possibile rimuoverli entrambi specificando il carattere ’xy’ come carattere da eliminare. Ecco come funziona!

text = "xxxyyy I love learning Python xxxyyy"
specific_chars_trimmed = text.strip('xy')
print(specific_chars_trimmed)  # Output: " I love learning Python "

Come accennato, è fondamentale capire che .strip() non può rimuovere caratteri dal centro della stringa. Ad esempio, se il testo da ripulire è "!!!I love learning!!! Python!!!", l'output dell'operazione sopra sarebbe ”I love learning!!! Python”. Per operazioni di rimozione più complesse, è meglio consultare le espressioni regolari invece dei metodi strip descritti in questo tutorial.

Rimuovere caratteri specifici da una stringa in Python usando .lstrip() e .rstrip()

Lo stesso vale per i metodi .lstrip() e .rstrip(). Di seguito trovi esempi di rimozione di caratteri specifici iniziali e finali in .lstrip() e .rstrip(), rispettivamente:

text = "!!!I love learning Python!!!"

left_char_trimmed = text.lstrip('!')
print(left_char_trimmed)  # Output: "I love learning Python!!!"

right_char_trimmed = text.rstrip('!')
print(right_char_trimmed)  # Output: "!!!I love learning Python"

Inoltre, la stessa tecnica di rimozione di più caratteri può essere applicata a .lstrip() e .rstrip()

text = "xxxyyy I love learning Python xxxyyy"

left_chars_trimmed = text.lstrip('xy')
print(left_chars_trimmed)  # Output: " I love learning Python xxxyyy"

right_chars_trimmed = text.rstrip('xy')
print(right_chars_trimmed)  # Output: "xxxyyy I love learning Python"

Nuovi metodi per rifinire stringhe in Python 3.9

Python 3.9 ha introdotto str.removeprefix() e str.removesuffix(), che rimuovono esplicitamente prefissi o suffissi noti.

Rimuovere un prefisso usando removeprefix()

text = "Python_is_fun"
trimmed_text = text.removeprefix("Python_")
print(trimmed_text)  # Output: "is_fun"

Rimuovere un suffisso usando removesuffix()

text = "data_cleaning.csv"
trimmed_text = text.removesuffix(".csv")
print(trimmed_text)  # Output: "data_cleaning"

Considerazioni sulle prestazioni nel trimming delle stringhe

Quando lavori con dataset di grandi dimensioni, rifinire le stringhe in modo efficiente è importante. .strip(), .lstrip() e .rstrip() operano con complessità temporale O(n). Tuttavia, per dataset enormi, l'uso di operazioni vettorizzate in Pandas può essere più efficiente:

import pandas as pd
df = pd.DataFrame({"text": ["  Data Science  ", "  Machine Learning  "]})
df["cleaned_text"] = df["text"].str.strip()
print(df)

Conclusione

Capire come rifinire e manipolare le stringhe è essenziale per programmare efficacemente in Python. Mentre i metodi .strip(), .lstrip() e .rstrip() coprono le esigenze di base, per affrontare scenari più complessi potrebbe essere necessario approfondire le espressioni regolari. Per continuare ad apprendere, esplora il nostro tutorial sulle espressioni regolari o, meglio ancora, inizia con lo Skill Track di DataCamp Natural Language Processing in Python.


Adel Nehme's photo
Author
Adel Nehme
LinkedIn

Adel è un formatore e speaker in Data Science, nonché VP dei Media presso DataCamp. Adel ha pubblicato diversi corsi e sessioni di formazione live su analisi dei dati, machine learning e data engineering. È appassionato di diffondere competenze e alfabetizzazione sui dati all'interno delle organizzazioni e di esplorare l'intersezione tra tecnologia e società. Ha un MSc in Data Science and Business Analytics. Nel tempo libero, lo trovi spesso in compagnia del suo gatto Louis.

FAQ

Posso usare .strip(), .lstrip() o .rstrip() per rimuovere caratteri numerici da una stringa?

Sì, puoi specificare caratteri numerici come target da rimuovere. Ad esempio:

text = "12345Python12345"
trimmed_text = text.strip('12345')
print(trimmed_text)  # Output: "Python"

Come gestiscono .strip(), .lstrip() e .rstrip() stringhe con spazi bianchi misti come tabulazioni o a capo?

Per impostazione predefinita, questi metodi rimuovono tutti i tipi di spazi bianchi, inclusi spazi, tabulazioni (\t) e a capo (\n). Ad esempio:

text = "\t\n  Python Programming  \n\t"
trimmed_text = text.strip()
print(trimmed_text)  # Output: "Python Programming"

Cosa succede se chiamo .strip(), .lstrip() o .rstrip() su una stringa vuota?

Se richiami questi metodi su una stringa vuota, restituiscono una stringa vuota senza errori. Ad esempio:

text = ""
trimmed_text = text.strip()
print(trimmed_text)  # Output: ""
Argomenti
Python

Continua a imparare Python!

Programma

Fondamenti di dati in Python

28 ore
Accresci le tue competenze sui dati, scopri come manipolarli e visualizzarli e applica analisi avanzate per prendere decisioni basate sui dati.
Vedi i dettagliRight Arrow
Inizia Il Corso
Mostra altroRight Arrow
Correlato

blog

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

blog

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

blog

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Abid Ali Awan's photo

Abid Ali Awan

15 min

Mostra AltroMostra Altro