Saltar al contenido

¿Cómo eliminar caracteres especiales excepto el espacio de un archivo en python?

Te sugerimos que pruebes esta respuesta en un ambiente controlado antes de enviarlo a producción, saludos.

Solución:

También puede usar este patrón con regex:

import re
a = '''hello? there A-Z-R_T(,**), world, welcome to python.
this **should? the next line#followed- [email protected] an#other %million^ %%like $this.'''

for k in a.split("n"):
    print(re.sub(r"[^a-zA-Z0-9]+", ' ', k))
    # Or:
    # final = " ".join(re.findall(r"[a-zA-Z0-9]+", k))
    # print(final)

Producción:

hello there A Z R T world welcome to python 
this should the next line followed by an other million like this 

Editar:

De lo contrario, puede almacenar las líneas finales en un list:

final = [re.sub(r"[^a-zA-Z0-9]+", ' ', k) for k in a.split("n")]
print(final)

Producción:

['hello there A Z R T world welcome to python ', 'this should the next line followed by an other million like this ']

Creo que la respuesta de nfn neil es excelente … pero solo agregaría una expresión regular simple para eliminar todos los caracteres sin palabras, sin embargo, considerará el guión bajo como parte de la palabra

print  re.sub(r'W+', ' ', string)
>>> hello there A Z R_T world welcome to python

Una solución más elegante sería

print(re.sub(r"W+|_", " ", string))

>>> hello there A Z R T world welcome to python this should the next line followed by another million like this

Aquí,
re es regex modulo en python

re.sub sustituirá el patrón con el espacio, es decir, " "

r'' tratará la entrada string como crudo (with n)

W para todas las no palabras, es decir, todos los caracteres especiales *&^%$, etc., excepto el guión bajo _

+ coincidirá de cero a coincidencias ilimitadas, similar a * (uno a más)

| es lógico O

_ significa guión bajo

Reseñas y valoraciones

Si conservas alguna vacilación o forma de medrar nuestro sección te sugerimos escribir una apostilla y con gusto lo leeremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *