Eliminar caracteres no alfanuméricos de la cadena de Python

Shivam Arora 30 enero 2023
  1. Utilice el método isalnum() para eliminar todos los caracteres no alfanuméricos en una cadena de Python
  2. Utilice la función filter() para eliminar todos los caracteres no alfanuméricos en una cadena de Python
  3. Utilice expresiones regulares para eliminar todos los caracteres no alfanuméricos en una cadena de Python
Eliminar caracteres no alfanuméricos de la 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

Artículo relacionado - Python String