Eliminar números de cadena en Python
-
Eliminar números de la cadena usando el método
string.join()
en Python -
Eliminar números de la cadena en Python usando el método
string.translate()
-
Eliminar números de la cadena en Python usando el método
re.sub()
Este tutorial analizará varios métodos para eliminar los números o dígitos de la cadena en Python. Por lo general, eliminamos números de los datos en el procesamiento del lenguaje natural durante el proceso de limpieza de datos.
Supongamos que tenemos una cadena abcd1234efg567
y queremos eliminar los dígitos de la cadena para obtener una cadena como abcdefg
. Podemos eliminar los números de la cadena en Python usando los siguientes métodos:
Eliminar números de la cadena usando el método string.join()
en Python
El método string.join(iterable)
toma un objeto iterable iterable
como entrada, une sus elementos usando el valor de la string
como separador y devuelve la cadena resultante como salida.
Para eliminar números de la cadena, primero iteraremos a través de la cadena y seleccionaremos valores que no sean dígitos, los pasaremos al método string.join()
para unirlos y obtener la cadena resultante con caracteres que no sean dígitos como salida.
El siguiente código de ejemplo demuestra cómo utilizar el método string.join()
para eliminar los números de la cadena en Python.
string = "abcd1234efg567"
newstring = "".join([i for i in string if not i.isdigit()])
print(newstring)
Producción :
abcdefg
Eliminar números de la cadena en Python usando el método string.translate()
El método string.translate(map)
en Python 2, toma una tabla de mapeo o diccionario como entrada y devuelve la cadena después de reemplazar los caracteres especificados con los caracteres definidos en la tabla o diccionario de mapeo de entrada.
El siguiente código de ejemplo demuestra cómo utilizar el método string.translate()
para eliminar los números de la cadena en Python 2.
from string import digits
string = "abcd1234efg567"
newstring = string.translate(None, digits)
print(newstring)
Producción :
abcdefg
En Python 3, el string.translate(table)
toma la tabla de traducción como entrada en lugar de la tabla de mapeo o diccionario, como en Python 2. Por lo tanto, necesitamos usar el método str.maketrans()
para obtener un tabla de traducción para usarla como entrada para el método string.translate()
.
El siguiente código de ejemplo demuestra cómo usar los métodos string.translate()
y str.maketrans()
para eliminar los números de la cadena en Python 3:
from string import digits
string = "abcd1234efg567"
table = str.maketrans("", "", digits)
newstring = string.translate(table)
print(newstring)
Producción :
abcdefg
Eliminar números de la cadena en Python usando el método re.sub()
El re.sub(pattern, replace, string)
toma la string
como entrada y devuelve la cadena reemplazando las ocurrencias no superpuestas de la cadena pattern
(descrita como una expresión regular) con el valor de replace
en la cuerda.
La expresión regular para dígitos es [0-9]+
. Solo necesitamos pasar esto como el argumento pattern
y ''
como replace
para eliminar los números de la string
de entrada usando el método re.sub()
.
El siguiente código de ejemplo demuestra cómo utilizar el método re.sub()
para eliminar números de la cadena:
import re
string = "abcd1234efg567"
newstring = re.sub(r"[0-9]+", "", string)
print(newstring)
Producción :
abcdefg