📜  Python中的列表理解和ord()删除字母以外的所有字符

📅  最后修改于: 2022-05-13 01:55:22.223000             🧑  作者: Mango

Python中的列表理解和ord()删除字母以外的所有字符

给定一个由字母和其他字符组成的字符串,删除除字母之外的所有字符并打印这样形成的字符串。
例子:

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

此问题已有解决方案,请参阅从字符串链接中删除除字母以外的所有字符。
我们将使用 List Comprehension 在Python中快速解决这个问题。
方法:

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

ord() 和 range()函数在Python中是如何工作的?

  • ord()方法返回一个整数,表示给定 Unicode字符的 Unicode 代码点。例如,
    ord('5') = 53 and ord('A') = 65 and ord('$') = 36

  • range(a,b,step)函数生成一个元素列表,其范围从包含 a 到 b 不包含给定步长的增量/减量。
# 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)) 

输出:

GeeksforGeeks