Rimuovi i caratteri non alfanumerici dalla stringa Python

Shivam Arora 21 dicembre 2022
  1. Usa il metodo isalnum() per rimuovere tutti i caratteri non alfanumerici nella stringa Python
  2. Usa la funzione filter() per rimuovere tutti i caratteri non alfanumerici nella stringa Python
  3. Usa le espressioni regolari per rimuovere tutti i caratteri non alfanumerici nella stringa Python
Rimuovi i caratteri non alfanumerici dalla stringa Python

I caratteri alfanumerici contengono la combinazione dei 26 caratteri del set di lettere e dei numeri da 0 a 9. I caratteri non alfanumerici includono caratteri che non sono lettere o cifre, come + e @.

In questo tutorial, discuteremo come rimuovere i caratteri non alfanumerici da una stringa in Python.

Usa il metodo isalnum() per rimuovere tutti i caratteri non alfanumerici nella stringa Python

Possiamo usare il metodo isalnum() per verificare se un dato carattere o stringa è alfanumerico o meno. Possiamo confrontare ogni carattere individualmente da una stringa e, se è alfanumerico, lo combiniamo usando la funzione join().

Per esempio,

string_value = "alphanumeric@123__"
s = "".join(ch for ch in string_value if ch.isalnum())
print(s)

Produzione:

alphanumeric123

Usa la funzione filter() per rimuovere tutti i caratteri non alfanumerici nella stringa Python

La funzione filter() viene utilizzata per costruire un iteratore dai componenti dell’oggetto iterabile e filtra gli elementi dell’oggetto utilizzando una funzione.

Per il nostro problema, la stringa è il nostro oggetto, e useremo la funzione isalnum(), che controlla se una data stringa contiene o meno caratteri alfanumerici controllando ogni carattere. La funzione join() combina tutti i caratteri per restituire una stringa.

Per esempio,

string_value = "alphanumeric@123__"
s = "".join(filter(str.isalnum, string_value))
print(s)

Produzione:

alphanumeric123

Questo metodo non funziona con Python 3.

Usa le espressioni regolari per rimuovere tutti i caratteri non alfanumerici nella stringa Python

Un’espressione regolare è un eccezionale raggruppamento di caratteri che consente di abbinare stringhe o insiemi di stringhe differenti, utilizzando una sintassi specifica in un modello. Per usare le espressioni regolari, importiamo il modulo re.

Possiamo usare la funzione sub() di questo modulo per sostituire tutta la stringa che corrisponde a un carattere non alfanumerico con un carattere vuoto.

Per esempio,

import re

string_value = "alphanumeric@123__"
s = re.sub(r"[\W_]+", "", string_value)
print(s)

Produzione:

alphanumeric123

In alternativa, possiamo anche utilizzare il seguente schema.

import re

string_value = "alphanumeric@123__"
s = re.sub(r"[^a-zA-Z0-9]", "", string_value)
print(s)

Produzione:

alphanumeric123

Articolo correlato - Python String