In questa pagina
Stringhe Python: convertire, pulire, cercare e formattare
Le stringhe sono il tipo di dato che tocchi più spesso in Python: l’input dell’utente, il contenuto dei file, le pagine web e le righe dei CSV arrivano tutti come testo. È facile sottovalutarle, perché una stringa Python è immutabile: nessun metodo la modifica sul posto; ogni operazione restituisce una nuova stringa. Questa pagina organizza tutte le 115 guide DelftStack sulle stringhe in base al lavoro che stai facendo, lungo quattro linee di attività: convertire il testo in altri tipi e viceversa, ripulire i caratteri che non appartengono, cercare e controllare cosa contiene una stringa, e formattare o sostituire il testo per l’output.
Il percorso di apprendimento delle stringhe
Inizia con cinque minuti di basi: come si costruiscono le stringhe, come si indicizzano e si affettano, e perché l’immutabilità significa che devi sempre conservare il valore restituito. Poi impara a cercare e ripulire: find(), l’operatore in, strip() e replace() coprono la maggior parte del lavoro quotidiano sul testo. Passa poi alla conversione, dove le stringhe si scambiano di posto con liste, numeri, dizionari e byte. Finisci con la formattazione e la sostituzione, dove le f-string sono la scelta predefinita e gli stili più vecchi compaiono solo dove guadagnano ancora il loro posto. Ogni passo qui sotto è un gruppo di questa pagina, nell’ordine in cui impararli.
Basi in cinque minuti: creare, unire e ripetere
Una stringa è una sequenza di caratteri tra virgolette singole o doppie; le virgolette triple si estendono su più righe, e l’indicizzazione più l’affettamento leggono qualsiasi parte. Due fatti fanno la maggior parte del lavoro: len() misura una stringa, e costruirne una più lunga produce sempre un nuovo valore.
- How to Repeat String N Times in Python — Moltiplica con
*per un numero fisso di copie, poi ripete e affetta per raggiungere una lunghezza obiettivo esatta, convalidando sorgenti vuote e lunghezze negative. - How to Copy String in Python — Sei vie per duplicare — concatenazione con stringa vuota, affettamento completo,
str(),%,format()e f-string — dopo aver spiegato perché l’immutabilità fa sì che entrambe le variabili condividano un unico valore. - Crea una stringa multilinea in Python — Virgolette triple per un vero testo su più righe, barra rovesciata e concatenazione tra parentesi per un’unica riga logica, e
textwrap.fill()per un output a larghezza fissa. - Aggiungi una stringa all’altra in Python —
+controstr.join();join()vince con molti pezzi perché ogni+costruisce una nuova stringa intermedia.
Convertire: stringhe in liste, numeri e ritorno
La conversione è dove il lavoro sulle stringhe guadagna il suo valore: i dati arrivano come testo e vengono usati come qualcos’altro. Le liste sono la porta più trafficata, i numeri la successiva; i contenitori si appiattiscono con str() o join(), e i byte attraversano solo tramite codifiche esplicite. Un vicino vive altrove: convertire un datetime in una stringa appartiene alle guide Datetime — vedi la sezione Datetime del pilastro Python.
- Come convertire una stringa in una lista in Python — La guida di punta:
list()per i caratteri,split()per parole e campi,ast.literal_eval()per il testo letterale — maieval()su input di cui non ti fidi. - Converti tupla in stringa in Python —
str()conserva la struttura della tupla,join()dà un risultato pulito e separato, e un generatore constr()per elemento gestisce i tipi misti. - How to Convert Dictionary to String in Python — Quattro vie: un ciclo scritto a mano,
str(),json.dumps()per lo scambio epprint.pformat()per un annidamento leggibile. - Equivalente di tostring() in Python — Python non ha
toString(): usastr()per un valore,join()per molti, le f-string per i messaggi,__str__()per le tue classi. - Converti una lista di stringhe in numeri interi in Python — La stessa conversione in quattro modi: comprensione di lista,
map(int, ...), un ciclo esplicito e NumPy per grandi insiemi di dati. - Converti Bytearray in String in Python — Mostra perché
bytes()lascia dietro una rappresentazioneb'...'e perchébytearray.decode()restituisce il testo effettivo. - Converti una stringa in binario in Python — Separa il binario per punto di codice tramite
ord()dal binario dei byte codificati tramitebytearray()con riempimento08b. - Converti stringa in booleano in Python — Parte dalla trappola —
bool("False")èTrue— poi costruisce un analizzatore di token esplicito che solleva un errore sulle grafie sconosciute.
Pulire ed eliminare: rimuovi ciò che non appartiene
La pulizia è il terreno di casa di questo cluster: pagine raschiate, esportazioni e input dell’utente arrivano con caratteri mai invitati. Scegli in base alla forma dello sporco: replace() per una sottostringa nota, translate() con una tabella per un intero insieme di caratteri in una volta sola, ed espressioni regolari quando lo sporco è un modello, non un letterale.
- Ways to Remove xa0 From a String in Python — Due attacchi allo spazio unificatore invisibile: la scomposizione con
unicodedata.normalize("NFKD", ...)e unreplace("\xa0", " ")diretto. - How to Remove Commas From String in Python —
replace(",", "")per ogni virgola, l’argomentocountsolo per la prima,re.sub()per il lavoro sui modelli. - Elimina la punteggiatura da una stringa in Python — Il kit completo: un filtro contro
string.punctuation, la sostituzione con l’espressione regolare[^\w\s], e una veloce tabellastr.translate()costruita damaketrans(). - Rimuovi virgolette dalla stringa in Python —
replace()cancella le virgolette ovunque;strip('"')rifila solo la coppia che circonda, lasciando intatte le virgolette interne. - Rimuovi caratteri speciali dalla stringa in Python — Definisce prima cosa significa «speciale», poi applica un filtro
isalnum(), un insiemetranslate(), o un’espressione regolare solo ASCII. - Rimuovi \n dalla stringa in Python —
replace()per le nuove righe,split()piùjoin()per ricucire le righe con spazi singoli, espressioni regolari per gli spazi bianchi misti. - Rimuovi l’ultimo carattere dalla stringa in Python — L’affettamento lo risolve:
s[:-1]elimina l’ultimo carattere e l’indicizzazione negativa si generalizza agli ultimi tre.
Cercare, controllare e contare
La ricerca è la più grande domanda insoddisfatta di questo cluster: i lettori conoscono il carattere che vogliono e hanno bisogno della sua posizione, del suo conteggio, o di una risposta sì o no. Mantieni netta la divisione del lavoro: in risponde al se, find() risponde al primo dove, index() risponde al dove e si lamenta a gran voce quando non c’è corrispondenza, e count() risponde al quanti.
- Come trovare un carattere in una stringa in Python —
find()per la prima corrispondenza,rfind()per l’ultima,index()quando l’assenza deve sollevare un errore, e un ciclo conenumerate()per ogni indice. - Conta le occorrenze di un carattere in una stringa in Python —
str.count()per un carattere, con la sua regola sulle sottostringhe che non si sovrappongono;collections.Counterquando bisogna contare ogni carattere. - Controlla se una stringa contiene Word in Python —
inper il test semplice, notando che"is" in "This"è vero; un’espressione regolare con confini di parola\bquando conta la parola intera. - Verifica che la variabile sia una stringa o meno in Python —
isinstance(value, str)come predefinito, il confronto contype()più rigoroso che perde le sottoclassi, e varianti con try-except. - if Statement With Strings in Python — Condizioni da
==, appartenenza conine confronto a maiuscole normalizzate;istesta l’identità, non il testo. - Python Trova tutte le occorrenze in String —
count()con limiti per un totale rapido, e una comprensione constartswith()che restituisce ogni indice.
Maiuscole e minuscole, confronto e riempimento
Le maiuscole sono dove i confronti si guastano in silenzio: Python confronta per punto di codice Unicode, quindi maiuscole e lettere speciali contano tutte. Normalizza prima di confrontare — lower() o upper() per il testo ordinario, casefold() quando le coppie Unicode devono corrispondere — e riempi con ljust(), rjust(), center() o zfill() per la presentazione.
- Confronto tra stringhe senza distinzione tra maiuscole e minuscole in Python — Normalizza entrambi i lati con
lower()oupper(), poi presenta l’argomento Unicode a favore dicasefold(), che rende equivalentistraßeeSTRASSE. - How to Pad String With Spaces in Python — Il banco completo:
ljust(),rjust(),center()con caratteri di riempimento, più gli equivalenti con%,format()e f-string per un output allineato. - Confrontare stringhe in Python — Il riferimento degli operatori:
==e!=per l’uguaglianza,<e>per l’ordine lessicografico deciso dal primo punto di codice diverso. - How to Compare Two Strings Character by Character in Python — Accoppia i caratteri con
zip()e conta le posizioni corrispondenti, trattando esplicitamente gli inputNonee le lunghezze disuguali.
Formattare e sostituire
Per il codice nuovo, formattare significa f-string: i valori siedono dentro il modello, dove puoi leggerli, e le specifiche di formato controllano larghezza e precisione. str.format() resta giusto quando il modello vive separatamente o viene riutilizzato, e la formattazione con % sopravvive nel codice vecchio che continuerai a incontrare. La sostituzione obbedisce all’immutabilità come tutto il resto: non modifichi mai una stringa, costruisci quella corretta.
- Sostituisci il carattere in una stringa in Python — Conversione in lista e assegnazione per indice, affettamento intorno a una posizione nota, o
replace()per ogni corrispondenza — ognuno restituisce una nuova stringa. - Differenza tra %se %d nella formattazione delle stringhe Python —
%saccetta qualsiasi valore tramite la conversione constr();%desige un intero e tronca i decimali — la distinzione ereditata dietro la maggior parte delle sorprese. - The sprintf() Function in Python — Python non ha
sprintf(); il lavoro ricade sull’operatore%, suformat(), sulle f-string, o su un wrapper fatto a mano. - How to Replace Character in String at Index in Python — L’esempio
Meatloafin entrambi i modi — affettare e ricostruire, o mutare una copia in lista — esteso a più indici.
Mappa dei metodi delle stringhe
Python include 47 metodi di stringa integrati, e questa mappa trova rapidamente quello giusto. Leggila per verbi: la famiglia is* controlla, i metodi di maiuscole trasformano, split e join smontano e ricostruiscono, i metodi di ricerca localizzano. Dove una guida approfondisce un metodo, la terza colonna la collega; una cella vuota significa che la descrizione in una riga basta.
| Metodo | Cosa fa | Approfondimento |
|---|---|---|
capitalize() |
Mette in maiuscolo il primo carattere e il resto in minuscolo | Approfondimento |
casefold() |
Minuscole aggressive, pensate per il confronto senza distinzione di maiuscole | Approfondimento |
center() |
Centra la stringa in un campo della larghezza data | |
count() |
Conta le occorrenze che non si sovrappongono di una sottostringa | Approfondimento |
encode() |
Codifica la stringa in byte nella codifica scelta | Approfondimento |
endswith() |
Verifica se la stringa termina con un suffisso | |
expandtabs() |
Sostituisce i caratteri di tabulazione con spazi | |
find() |
Indice più basso di una sottostringa, o -1 quando è assente | Approfondimento |
format() |
Formatta i valori in segnaposto {} | |
format_map() |
Come format(), con i valori presi da una mappatura | |
index() |
Indice più basso di una sottostringa; solleva ValueError quando è assente | Approfondimento |
isalnum() |
Vero quando ogni carattere è una lettera o una cifra | Approfondimento |
isalpha() |
Vero quando ogni carattere è alfabetico | |
isascii() |
Vero quando ogni carattere è ASCII | |
isdecimal() |
Vero quando ogni carattere è una cifra decimale | |
isdigit() |
Vero quando ogni carattere è una cifra | Approfondimento |
isidentifier() |
Vero quando la stringa è un identificatore Python valido | |
islower() |
Vero quando tutte le lettere sono minuscole | |
isnumeric() |
Vero quando ogni carattere è numerico | |
isprintable() |
Vero quando ogni carattere è stampabile | |
isspace() |
Vero quando ogni carattere è uno spazio bianco | |
istitle() |
Vero quando la stringa è in formato titolo | |
isupper() |
Vero quando tutte le lettere sono maiuscole | |
join() |
Unisce un iterabile di stringhe usando questa stringa come separatore | Approfondimento |
ljust() |
Giustifica a sinistra in un campo della larghezza data | |
lower() |
Restituisce una copia in minuscolo | Approfondimento |
lstrip() |
Rimuove i caratteri iniziali (spazi bianchi per impostazione predefinita) | |
maketrans() |
Costruisce una tabella di traduzione per translate() | Approfondimento |
partition() |
Divide al primo separatore in una tupla di tre parti | |
removeprefix() |
Rimuove un prefisso quando è presente | |
removesuffix() |
Rimuove un suffisso quando è presente | |
replace() |
Sostituisce le occorrenze di una sottostringa con un’altra | Approfondimento |
rfind() |
Indice più alto di una sottostringa, o -1 quando è assente | Approfondimento |
rindex() |
Indice più alto di una sottostringa; solleva ValueError quando è assente | |
rjust() |
Giustifica a destra in un campo della larghezza data | |
rpartition() |
Divide all’ultimo separatore in una tupla di tre parti | |
rsplit() |
Divide su un separatore, contando da destra | |
rstrip() |
Rimuove i caratteri finali (spazi bianchi per impostazione predefinita) | |
split() |
Divide su un separatore in una lista | Approfondimento |
splitlines() |
Divide ai confini di riga in una lista | |
startswith() |
Verifica se la stringa inizia con un prefisso | Approfondimento |
strip() |
Rimuove i caratteri iniziali e finali | Approfondimento |
swapcase() |
Restituisce una copia con le maiuscole di ogni carattere invertite | |
title() |
Restituisce una copia in formato titolo, con ogni parola in maiuscolo | |
translate() |
Mappa i caratteri attraverso una tabella di traduzione | Approfondimento |
upper() |
Restituisce una copia in maiuscolo | Approfondimento |
zfill() |
Riempie con zeri iniziali fino alla larghezza data |
Domande frequenti
Come converto una stringa in una lista in Python?
Decidi cosa deve essere ogni elemento, poi scegli lo strumento corrispondente. list(text) dà un elemento per carattere; text.split() dà le parole, e text.split(",") dà i campi separati da un delimitatore, conservando i campi vuoti. Per un testo che sembra già una lista Python, analizzalo con ast.literal_eval() e verifica che il risultato sia davvero una lista. Non usare mai eval() su input che non controlli. La procedura completa è in Come convertire una stringa in una lista in Python.
Come controllo se una stringa contiene una sottostringa o una parola?
Per un semplice test di sottostringa, usa l’operatore in: "word" in text restituisce un booleano ed è sensibile alle maiuscole. Quando ti serve anche la posizione, find() restituisce il primo indice o -1, mentre index() solleva invece ValueError. Nota che in corrisponde anche dentro parole più grandi — "is" in "This" è vero — quindi per una parola intera, tokenizza o usa un’espressione regolare con confini \b, come mostrato in Controlla se una stringa contiene Word in Python.
Come rimuovo la punteggiatura o i caratteri speciali da una stringa?
Definisci prima cosa deve sparire: solo la punteggiatura, o tutto ciò che non è una lettera o una cifra. Per la punteggiatura, filtra contro string.punctuation, sostituisci con l’espressione regolare [^\w\s], o cancella un intero insieme in una volta con una tabella str.translate() costruita da maketrans() — l’opzione più veloce. Per una pulizia più ampia, un filtro isalnum() conserva lettere e cifre Unicode. Elimina la punteggiatura da una stringa in Python passa in rassegna ogni variante.
Perché Python dice «not all arguments converted during string formatting»?
Questo TypeError viene dalla formattazione con %: il modello contiene meno segnaposto della tupla di valori che hai passato, così Python arriva alla fine del modello con argomenti avanzati — per esempio "Value: " % (1, 2). Dai a ogni valore esattamente un segnaposto, racchiudi un singolo valore in una tupla a un elemento, ed esegui l'escape di un segno di percentuale letterale come %%`. Una guida dedicata a questo errore lo disseziona caso per caso.
Esiste un toString() in Python?
No. Python non ha un metodo toString(); cercarlo è un’abitudine portata da Java. L’equivalente è l’integrato str(value), che restituisce una stringa leggibile per numeri, collezioni e la maggior parte degli oggetti. Usa join() per combinare molte stringhe, le f-string per costruire messaggi, e definisci __str__() nelle tue classi per controllare come si stampano. Nota che str() produce testo da visualizzare, non JSON o CSV. Vedi Equivalente di tostring() in Python.
Come sostituisco un carattere a un indice specifico?
Non puoi assegnare dentro una stringa: text[2] = "m" solleva TypeError, perché le stringhe sono immutabili. Costruisci invece la sostituzione: affetta intorno alla posizione, text[:2] + "m" + text[3:], oppure converti in lista, assegna all’indice e riunisci con "".join(...). Entrambi restituiscono una nuova stringa e lasciano intatta l’originale; convalida l’indice contro len(text) quando proviene dall’input dell’utente. Una guida dedicata mostra entrambi i metodi.
Tutte le guide sulle stringhe Python
Basi
- How to Copy String in Python
- How to Repeat String N Times in Python
- Crea una stringa multilinea in Python
- Loop su una stringa in Python
- Aggiungi una stringa all’altra in Python
- How to Concatenate String and Int Values in Python
- Aggiungi carattere alla stringa in Python
- Equivalente di String Builder in Python
- Inserisci una stringa in una stringa in Python
- How to Fix String Indices Must Be Integers Error in Python
Convertire
- Come convertire una stringa in una lista in Python
- Converti tupla in stringa in Python
- Converti una lista di stringhe in numeri interi in Python
- Converti Bytearray in String in Python
- How to Convert Dictionary to String in Python
- Equivalente di tostring() in Python
- Come convertire una stringa in Float o Int in Python
- Come convertire un float in stringa in Python
- How to Convert String to Unicode in Python
- Converti una stringa in binario in Python
- Converti stringa in booleano in Python
- Converti Integer in String in Python
- Formatta un numero mobile in stringa in Python
- How to Convert List to Comma-Separated String in Python
- Come convertire una lista in stringa in Python
- Concatena la lista di stringhe in Python
- Dividi la stringa in un array di caratteri in Python
- How to Parse String to List in Python
- Stringa suddivisa in base a più delimitatori in Python
- Dividi una stringa per spazi bianchi in Python
- Dividi la stringa a metà in Python
- Converti stringa in valore ASCII in Python
- Converti caratteri Unicode in stringa ASCII in Python
- Converti String in Double in Python
- How to Convert String to Decimal in Python
- Come convertire i byte in stringhe in Python 2 e Python 3
- Come convertire una stringa in byte in Python
- How to Convert Datetime to String in Python
- Come convertire una stringa in datario in Python
- Converti una stringa in nome variabile in Python
- How to Stringify JSON in Python
- How to Convert a String to a Float Value in Python
- How to Convert String to Integer in Python
Pulire ed eliminare
- Ways to Remove xa0 From a String in Python
- How to Remove Commas From String in Python
- Elimina la punteggiatura da una stringa in Python
- Rimuovi virgolette dalla stringa in Python
- Rimuovi caratteri speciali dalla stringa in Python
- Rimuovi \n dalla stringa in Python
- Rimuovi l’ultimo carattere dalla stringa in Python
- Rimuovi alcuni caratteri dalla stringa in Python
- Rimuovi i numeri dalla stringa in Python
- Rimuovi Newline da String in Python
- Rimuovi il primo carattere dalla stringa in Python
- How to Remove Parentheses From String in Python
- Rimuovi sottostringa dalla stringa in Python
- Come rimuovere gli spazi bianchi in una stringa in Python
Cercare, controllare e contare
- Controlla se una stringa contiene Word in Python
- Verifica che la variabile sia una stringa o meno in Python
- Verifica che una stringa contenga un numero in Python
- Controlla se una stringa è intera in Python
- Come trovare un carattere in una stringa in Python
- Conta le occorrenze di un carattere in una stringa in Python
- if Statement With Strings in Python
- Python Trova tutte le occorrenze in String
- How to Check if a String Is a Number in Python
- Come verificare se una stringa contiene una stringa in Python
- How to Check if a Word Exists in a String in Python
- How to Find All Indexes of a Character in Python String
- Estrai sottostringa da una stringa in Python
- Estrai numeri da una stringa in Python
- Conta le parole in stringa in Python
- How to Count Vowels in a String Using Python
- How to Get Longest Common Substring in Python
- Trova la stringa nell’lista in Python
- How to Match Fuzzy String in Python
- Python Controlla se la lista contiene una stringa
- Python Trova stringa nel file
- Come controllare se una stringa è vuota in un modo pythonico
Maiuscole e minuscole, confronto e riempimento
- Confronto tra stringhe senza distinzione tra maiuscole e minuscole in Python
- How to Pad String With Spaces in Python
- Confrontare stringhe in Python
- How to Compare Two Strings Character by Character in Python
- How to Pad String With Zeros in Python
- Uso delle maiuscole nelle stringhe in Python
- How to Right Justify String in Python
- How to Sort String Alphabetically in Python
Formattare e sostituire
- The sprintf() Function in Python
- Sostituisci il carattere in una stringa in Python
- Differenza tra %se %d nella formattazione delle stringhe Python
- How to Replace Character in String at Index in Python
- String Interpolation in Python
- How to Solve the TypeError: Not All Arguments Converted During String Formatting in Python
- How to Fix TypeError: Not Enough Arguments for Format String Error in Python
- How to Fix TypeError: Non-Empty Format String Passed to Object.format in Python
- Sostituisci la stringa nel file usando Python
- Stampa stringa e variabile in Python
Altri articoli sulle stringhe
- Cripta una stringa Python
- Chiamare una funzione dal nome della stringa in Python
- B in Front of String in Python
- Raw String in Python
- Raw String and Unicode String in Python
- Invertire una stringa in Python
- Permutazioni di una stringa in Python
- Leggi file in una stringa in Python
- Scrivi la stringa in un file in Python
- How to Print String to Text File Using Python
- How to Send String Using Python Socket
- How to Quote Backslash in String in Python
- How to Fix Error - EOL While Scanning String Literal in Python
- How to Fix TypeError: str Returned Non-String but Printing Output
- How to Create and Access Docstrings in Python
- Most Common Docstring Patterns in Python
- Come eseguire l’operazione XOR bitwise di due stringhe in Python
- Genera stringhe casuali in Python
Questo è il cluster delle stringhe da cima a fondo. Per la mappa più ampia — liste, dizionari, file, date ed errori — torna al pilastro Python, dove i gruppi Dictionary e List siedono accanto al gruppo Strings che questa pagina espande.