如何创建一个函数,它将过滤掉字符串中的所有非字母?例如,字母(“jajk24me”)将返回“jajkme”. (它需要是一个for循环)并且string.isalpha()函数会帮助我吗?
我的尝试:
def letters(input):
valids = []
for character in input:
if character in letters:
valids.append( character)
return (valids)
解决方法:
如果它需要在for循环中,并且正则表达式不会这样做,那么循环的这个小修改将起作用:
def letters(input):
valids = []
for character in input:
if character.isalpha():
valids.append(character)
return ''.join(valids)
(最后的’.join(valids)获取您在列表中收集的所有字符,并将它们连接成一个字符串.原始函数返回该字符列表而不是)
您还可以从字符串中过滤掉字符:
def letters(input):
return ''.join(filter(str.isalpha, input))
或者列表理解:
def letters(input):
return ''.join([c for c in input if c.isalpha()])
或者你可以使用正则表达式,正如其他人所建议的那样.
标签:python