Rimuovi caratteri speciali dalla stringa in Python

Muhammad Waiz Khan 30 gennaio 2023
  1. Rimuovi caratteri speciali dalla stringa in Python usando il metodo str.isalnum()
  2. Rimuovi caratteri speciali dalla stringa in Python usando il metodo filter(str.isalnum, string)
  3. Rimuovi caratteri speciali dalla stringa in Python usando l’espressione regolare
Rimuovi caratteri speciali dalla stringa in Python

In questo tutorial, discuteremo vari modi per rimuovere tutti i caratteri speciali dalla stringa in Python. Possiamo rimuovere i caratteri speciali dalla stringa utilizzando funzioni o espressioni regolari.

Rimuovi caratteri speciali dalla stringa in Python usando il metodo str.isalnum()

Il metodo str.isalnum() restituisce True se i caratteri sono caratteri alfanumerici, ovvero nessun carattere speciale nella stringa. Restituirà False se sono presenti caratteri speciali nella stringa.

Per rimuovere i caratteri speciali dalla stringa, dovremo controllare se un carattere è alfanumerico e rilasciarlo altrimenti. Di seguito è riportato l’esempio di implementazione di questo metodo:

string = "Hey! What's up bro?"

new_string = "".join(char for char in string if char.isalnum())
print(new_string)

Produzione:

HeyWhatsupbro

Rimuovi caratteri speciali dalla stringa in Python usando il metodo filter(str.isalnum, string)

Per rimuovere caratteri speciali dalla stringa, possiamo anche usare il metodo filter(str.isalnum, string), simile al metodo spiegato sopra. Ma in questo approccio, invece di usare il cicli for e l’istruzione if sul metodo str.isalnum(), useremo la funzione filter().

Codice di esempio:

string = "Hey! What's up bro?"

new_string = "".join(filter(str.isalnum, string))
print(new_string)
HeyWhatsupbro

Rimuovi caratteri speciali dalla stringa in Python usando l’espressione regolare

Per rimuovere il carattere speciale dalla stringa, potremmo scrivere un’espressione regolare che rimuoverà automaticamente i caratteri speciali dalla stringa. L’espressione regolare per questo sarà [^a-zA-Z0-9], dove ^ rappresenta qualsiasi carattere tranne i caratteri tra parentesi, e a-zA-Z0-9 rappresenta che la stringa può avere solo lettere minuscole e maiuscole e cifre numeriche.

Codice di esempio:

import re

string = "Hey! What's up bro?"
new_string = re.sub(r"[^a-zA-Z0-9]", "", string)
print(new_string)

Produzione:

HeyWhatsupbro

Articolo correlato - Python String