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