Eliminar caracteres no alfanuméricos de la cadena de Python
-
Utilice el método
isalnum()
para eliminar todos los caracteres no alfanuméricos en una cadena de Python -
Utilice la función
filter()
para eliminar todos los caracteres no alfanuméricos en una cadena de Python - Utilice expresiones regulares para eliminar todos los caracteres no alfanuméricos en una cadena de Python
Los caracteres alfanuméricos contienen la combinación de los 26 caracteres del conjunto de letras y los números del 0 al 9. Los caracteres no alfanuméricos incluyen caracteres que no son letras ni dígitos, como +
y @
.
En este tutorial, discutiremos cómo eliminar caracteres no alfanuméricos de una cadena en Python.
Utilice el método isalnum()
para eliminar todos los caracteres no alfanuméricos en una cadena de Python
Podemos utilizar el método isalnum()
para comprobar si un carácter o cadena dada es alfanumérico o no. Podemos comparar cada carácter individualmente de una cadena, y si es alfanumérico, lo combinamos usando la función join()
.
Por ejemplo,
string_value = "alphanumeric@123__"
s = "".join(ch for ch in string_value if ch.isalnum())
print(s)
Producción :
alphanumeric123
Utilice la función filter()
para eliminar todos los caracteres no alfanuméricos en una cadena de Python
La función filter()
se usa para construir un iterador a partir de componentes del objeto iterable y filtra los elementos del objeto usando una función.
Para nuestro problema, la cadena es nuestro objeto, y usaremos la función isalnum()
, que verifica si una cadena dada contiene caracteres alfanuméricos o no al verificar cada carácter. La función join()
combina todos los caracteres para devolver una cadena.
Por ejemplo,
string_value = "alphanumeric@123__"
s = "".join(filter(str.isalnum, string_value))
print(s)
Producción :
alphanumeric123
Este método no funciona con Python 3.
Utilice expresiones regulares para eliminar todos los caracteres no alfanuméricos en una cadena de Python
Una expresión regular es una agrupación excepcional de caracteres que le ayuda a hacer coincidir diferentes cadenas o conjuntos de cadenas, utilizando una sintaxis específica en un patrón. Para usar expresiones regulares, importamos el módulo re.
Podemos usar la función sub()
de este módulo para reemplazar toda la cadena que coincide con un carácter no alfanumérico por un carácter vacío.
Por ejemplo,
import re
string_value = "alphanumeric@123__"
s = re.sub(r"[\W_]+", "", string_value)
print(s)
Producción :
alphanumeric123
Alternativamente, también podemos usar el siguiente patrón.
import re
string_value = "alphanumeric@123__"
s = re.sub(r"[^a-zA-Z0-9]", "", string_value)
print(s)
Producción :
alphanumeric123