Vai al contenuto principale

Utilizzare le espressioni regolari per pulire le stringhe

Questo tutorial riprende i contenuti del corso Cleaning Data in Python di DataCamp e ti permette di pulire le stringhe usando le espressioni regolari.
Aggiornato 29 set 2026  · 4 min leggi

Scopri con l'IA

ChatGPTClaudePerplexity

Se vuoi seguire il nostro corso gratuito Intro to R, ecco il link.

Estrazione di valori numerici dalle stringhe

Estrarre numeri dalle stringhe è un’attività comune, in particolare quando si lavora con dati non strutturati o file di log.

Supponiamo di avere la seguente stringa: 'the recipe calls for 6 strawberries and 2 bananas'.

Sarebbe utile estrarre il 6 e il 2 da questa stringa per salvarli e usarli in seguito quando si confrontano i rapporti tra fragole e banane.

Quando usi un’espressione regolare per estrarre più numeri (o, più precisamente, più corrispondenze del pattern), puoi usare la funzione re.findall(). Dan non ne ha parlato nel video, ma è semplice da usare: passi un pattern e una stringa a re.findall() e restituirà un elenco delle corrispondenze.

Istruzioni

  • Importa re.
  • Scrivi un pattern che trovi tutti i numeri nella seguente stringa: 'the recipe calls for 10 strawberries and 1 banana'. Per farlo:
    • Usa la funzione re.findall() e passale due argomenti: il pattern, seguito dalla stringa.
    • \d è il pattern necessario per trovare le cifre. Va seguito da un + così che l’elemento precedente venga fatto combaciare una o più volte. Questo assicura che 10 sia considerato un numero unico e non come 1 e 0.
  • Stampa le corrispondenze per confermare che la tua espressione regolare abbia trovato i valori 10 e 1.
# Import the regular expression module ____ # Find the numeric values: matches matches = re.findall('____', '____') # Print the matches print(____) # Import the regular expression module import re # Find the numeric values: matches matches = re.findall('\d+', 'the recipe calls for 10 strawberries and 1 banana') # Print the matches print(matches) Ex().test_import('re') Ex().test_correct(test_object('matches'), test_function('re.findall')) Ex().test_function('print') success_msg('Excellent work - your regular expression successfully extracted the numeric values 10 and 1 from the string!')
  • Usa il comando import x per importare il modulo x.
  • Il primo argomento di re.findall() dovrebbe essere \d+ e il secondo argomento dovrebbe essere la stringa: 'the recipe calls for 10 strawberries and 1 banana'.
  • Usa la funzione print() fornita per stampare matches.

Se tutto ti è chiaro, prosegui con l’esercizio successivo! In caso contrario, ecco un video panoramico.

Video panoramico sull’uso delle espressioni regolari per pulire le stringhe in Python

Corrispondenza di pattern

In questo esercizio continuerai a fare pratica con le espressioni regolari. Per ciascuna stringa fornita, il tuo compito è scrivere il pattern appropriato per farla combaciare.

Istruzioni

  • Scrivi pattern per far combaciare:
    • Un numero di telefono nel formato xxx-xxx-xxxx. Lo hai già fatto in un esercizio precedente.
    • Una stringa nel formato: un simbolo del dollaro, un numero arbitrario di cifre, un punto decimale, 2 cifre.
      • Usa \$ per far combaciare il simbolo del dollaro, \d* per far combaciare un numero arbitrario di cifre, \. per far combaciare il punto decimale e \d{x} per far combaciare x cifre.
  • Una lettera maiuscola, seguita da un numero arbitrario di caratteri alfanumerici.
    • Usa [A-Z] per far combaciare qualsiasi lettera maiuscola, seguita da \w* per far combaciare un numero arbitrario di caratteri alfanumerici.
import re # Write the first pattern pattern1 = bool(re.match(pattern='____', string='123-456-7890')) print(pattern1) # Write the second pattern pattern2 = bool(re.match(pattern='____', string='$123.45')) print(pattern2) # Write the third pattern pattern3 = bool(re.match(pattern='____', string='Australia')) print(pattern3) # Write the first pattern pattern1 = bool(re.match(pattern='\d{3}-\d{3}-\d{4}', string='123-456-7890')) print(pattern1) # Write the second pattern pattern2 = bool(re.match(pattern='\$\d*\.\d{2}', string='$123.45')) print(pattern2) # Write the third pattern pattern3 = bool(re.match(pattern='[A-Z]\w*', string='Australia')) print(pattern3) Ex().test_correct(test_object('pattern1'), test_function('re.match', index=1)) Ex().test_function('print', index=1) Ex().test_correct(test_object('pattern2'), test_function('re.match', index=2)) Ex().test_function('print', index=2) Ex().test_correct(test_object('pattern3'), test_function('re.match', index=3)) Ex().test_function('print', index=3) success_msg("Great work! You're mastering the fundamentals of writing regular expressions!")
  • Ci sono tre componenti nel primo pattern che la tua espressione regolare deve far combaciare: xxx, xxx e xxxx. I primi due sono fatti combaciare da \d{3}, mentre l’ultimo è fatto combaciare da \d{4}. Ognuno di questi componenti deve essere separato da un -.

Se vuoi approfondire con questo corso, ecco il link.

Dai un’occhiata al tutorial sulle stringhe in Python di DataCamp.

Argomenti
Python
Data Science

Scopri di più su Python

Corso

Espressioni regolari in Python

4 ore
49.9K
Impara la manipolazione delle stringhe e diventa un esperto nell'uso delle espressioni regolari.
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