"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo conservar espacios y puntos mientras se eliminan caracteres que no son ASCII en archivos de texto Python?

¿Cómo conservar espacios y puntos mientras se eliminan caracteres que no son ASCII en archivos de texto Python?

Publicado el 2024-11-08
Navegar:698

How to Preserve Spaces and Periods While Removing Non-ASCII Characters in Python Text Files?

Manejo de caracteres no ASCII, preservación de espacios y puntos

Cuando se trabaja con archivos de texto, a menudo es necesario eliminar caracteres no ASCII mientras preservando entidades específicas como espacios y períodos. El código Python proporcionado filtra correctamente los caracteres que no son ASCII, pero también elimina inadvertidamente espacios y puntos.

Para solucionar este problema, debemos modificar la función onlyascii() para excluir explícitamente espacios y puntos del proceso de filtrado. . Aquí hay una versión actualizada:

def onlyascii(char):
    if char == ' ' or char == '.':
        return char
    elif ord(char)  127:
        return ''
    else:
        return char

En esta función onlyascii() revisada, verificamos si el carácter es un espacio (' ') o un punto ('.') y lo devolvemos si es así. Esta modificación garantiza que estas entidades se retengan en la cadena filtrada.

Para utilizar la función onlyascii() actualizada, podemos modificar la función get_my_string() para filtrar caracteres usando esta función:

def get_my_string(file_path):
    f = open(file_path, 'r')
    data = f.read()
    f.close()
    filtered_data = filter(onlyascii, data)
    filtered_data = filtered_data.lower()
    return ''.join(filtered_data)

El método join() se utiliza para concatenar los caracteres del iterable devuelto por la función filter(), lo que da como resultado una cadena.

Al implementar estos modificaciones, puede eliminar caracteres que no sean ASCII y al mismo tiempo conservar espacios y puntos en su cadena de texto, atendiendo a los requisitos específicos de su proyecto.

Declaración de liberación Este artículo se reimprime en: 1729340957 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3