Programa de Python para eliminar todos los caracteres de control

En el dominio de las telecomunicaciones y la informática, los caracteres de control son caracteres no imprimibles que forman parte del juego de caracteres. Estos no representan ningún símbolo escrito. Se utilizan en la señalización para causar ciertos efectos además de agregar símbolos al texto. Eliminar estos caracteres de control es una utilidad esencial. En este artículo, discutiremos cómo eliminar todos esos caracteres de control.

Ejemplo:

Entrada: test_str = ‘Geeks\0\r for \n\bge\tee\0ks\f’

Salida : Geeks para geeeks

Explicación: \n, \0, \f, \r, \b, \t son caracteres de control que se eliminan de la string.

Entrada: test_str = ‘G\0\r\n\fg’

Salida: Gfg

Explicación: \n, \0, \f, \r son caracteres de control que se eliminan de la string, dando Gfg como salida.

Método 1: Usar translate().

La lógica aplicada aquí es que cada carácter que no es de control se encuentra entre los 33 caracteres ASCII superiores, por lo tanto, la traducción se usa para evitar todos los demás, excepto estos mediante el mapeo.

Python3

# Python3 code to demonstrate working of
# Remove all control characters
# Using translate()
 
# initializing string
test_str = 'Geeks\0\r for \n\bge\tee\0ks\f'
 
# printing original string
print("The original string is : " + str(test_str))
 
# using translate() and fromkeys()
# to escape all control characters
mapping =  dict.fromkeys(range(32))
res = test_str.translate(mapping)
 
# printing result
print("String after removal of control characters : " + str(res))

Producción:

 for original string is : Geeks
ge    eeks
String after removal of control characters : Geeks for geeeks

Método 2: usar la biblioteca UnicodeData

En esto, usando unicodedata.category(), podemos verificar que cada carácter que comience con «C» sea el carácter de control y, por lo tanto, se evite en la string de resultados.

Python3

# Python3 code to demonstrate working of
# Remove all control characters
# Using unicodedata library
import unicodedata
 
# initializing string
test_str = 'Geeks\0\r for \n\bge\tee\0ks\f'
 
# printing original string
print("The original string is : " + str(test_str))
 
# surpassing all control characters
# checking for starting with C
res = "".join(char for char in test_str if unicodedata.category(char)[0]!="C")
 
# printing result
print("String after removal of control characters : " + str(res))

Producción:

 for original string is : Geeks
ge    eeks
String after removal of control characters : Geeks for geeeks

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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