Comprensión de lista y ord() en Python para eliminar todos los caracteres que no sean alfabetos

Dada una string que consta de alfabetos y otros caracteres, elimine todos los caracteres que no sean alfabetos e imprima la string así formada. Ejemplos:

Input : str = "$Gee*k;s..fo, r'Ge^eks?"
Output : GeeksforGeeks

Este problema tiene una solución existente, consulte Eliminar todos los caracteres que no sean alfabetos del enlace de string . Resolveremos este problema en python rápidamente usando List Comprehension . Enfoque: es

1. Traverse string 
2. Select characters which lie in range of [a-z] or [A-Z]
3. Print them together

¿Cómo funciona la función ord() y range() en python?

  • El método ord() devuelve un número entero que representa el punto de código Unicode del carácter Unicode dado. Por ejemplo,
 ord('5') = 53 and ord('A') = 65 and ord('$') = 36
  • La función range(a,b,step) genera una lista de elementos que va desde inclusivo hasta b exclusivo con incremento/decremento del paso dado.

Python3

# Python code to remove all characters
# other than alphabets from string
 
def removeAll(input):
 
    # Traverse complete string and separate
    # all characters which lies between [a-z] or [A-Z]
    sepChars = [char for char in input if
ord(char) in range(ord('a'),ord('z')+1,1) or ord(char) in
range(ord('A'),ord('Z')+1,1)]
 
    # join all separated characters
    # and print them together
    return ''.join(sepChars)
 
# Driver program
if __name__ == "__main__":
    input = "$Gee*k;s..fo, r'Ge^eks?"
    print (removeAll(input))

Producción:

GeeksforGeeks

Python3

# code
string = "$Gee*k;s..fo, r'Ge^eks?"
print("".join(filter(lambda x : x.isalpha(),string)))

Publicación traducida automáticamente

Artículo escrito por Shashank Mishra 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 *