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