Rimuovi i numeri dalla stringa in Python
-
Rimuovi i numeri dalla stringa usando il metodo
string.join()
in Python -
Rimuovere i numeri dalla stringa in Python usando il metodo
string.translate()
-
Rimuovere i numeri dalla stringa in Python usando il metodo
re.sub()
Questo tutorial esaminerà vari metodi per rimuovere i numeri o le cifre dalla stringa in Python. Di solito rimuoviamo i numeri dai dati nell’elaborazione del linguaggio naturale durante il processo di pulizia dei dati.
Supponiamo di avere una stringa abcd1234efg567
e di voler rimuovere le cifre dalla stringa per ottenere una stringa come abcdefg
. Possiamo rimuovere i numeri dalla stringa in Python usando i seguenti metodi:
Rimuovi i numeri dalla stringa usando il metodo string.join()
in Python
Il metodo string.join(iterable)
accetta un oggetto iterabile iterable
come input, unisce i suoi elementi insieme usando il valore della string
come separatore e restituisce la stringa risultante come output.
Per rimuovere i numeri dalla stringa, prima itereremo attraverso la stringa e selezioneremo valori non numerici, li passeremo al metodo string.join()
per unirli e ottenere la stringa risultante con caratteri non numerici come output.
Il codice di esempio sotto mostra come utilizzare il metodo string.join()
per rimuovere i numeri dalla stringa in Python.
string = "abcd1234efg567"
newstring = "".join([i for i in string if not i.isdigit()])
print(newstring)
Produzione:
abcdefg
Rimuovere i numeri dalla stringa in Python usando il metodo string.translate()
Il metodo string.translate(map)
in Python 2, prende una tabella di mappatura o un dizionario come input e restituisce la stringa dopo aver sostituito i caratteri specificati con i caratteri definiti nella tabella o nel dizionario di mappatura di input.
Il codice di esempio sotto mostra come utilizzare il metodo string.translate()
per rimuovere i numeri dalla stringa in Python 2.
from string import digits
string = "abcd1234efg567"
newstring = string.translate(None, digits)
print(newstring)
Produzione:
abcdefg
In Python 3, la string.translate(table)
prende la tabella di traduzione come input invece della tabella di mappatura o del dizionario, come in Python 2. Pertanto, dobbiamo usare il metodo str.maketrans()
per ottenere un tabella di traduzione per usarlo come input per il metodo string.translate()
.
Il codice di esempio sotto mostra come utilizzare i metodi string.translate()
e str.maketrans()
per rimuovere i numeri dalla stringa in Python 3:
from string import digits
string = "abcd1234efg567"
table = str.maketrans("", "", digits)
newstring = string.translate(table)
print(newstring)
Produzione:
abcdefg
Rimuovere i numeri dalla stringa in Python usando il metodo re.sub()
Il re.sub(pattern, replace, string)
prende la string
come input e restituisce la stringa sostituendo le occorrenze non sovrapposte della stringa pattern
(descritta come un’espressione regolare) con il valore replace
nella stringa.
L’espressione regolare per le cifre è [0-9]+
. Dobbiamo solo passare questo come argomento pattern
e ''
come replace
per rimuovere i numeri dalla string
di input usando il metodo re.sub()
.
Il codice di esempio seguente mostra come utilizzare il metodo re.sub()
per rimuovere i numeri dalla stringa:
import re
string = "abcd1234efg567"
newstring = re.sub(r"[0-9]+", "", string)
print(newstring)
Produzione:
abcdefg
Articolo correlato - Python String
- Come controllare una stringa è vuota in modo pitonico
- Converti una stringa in nome variabile in Python
- Come rimuovere gli spazi bianchi in una stringa in Python
- Estrai numeri da una stringa in Python
- Come convertire una stringa in datario in Python
- Come convertire una stringa in minuscola in Python 2 e 3