这是一个计算机科学项目,我们必须分离一个文本文件,摆脱标点符号和大写字母,然后计算一个单词使用sys.argv显示的次数。我们教授希望我们使用的代码格式是 -
cleanToken = ""
for i in range(0,len(token),1):
if (???): #test token[i] to see if it is a letter
cleanToken = cleanToken + token[i]
但是总会弹出一条错误信息。任何人都知道如何修复错误消息?
答案 0 :(得分:0)
str.isalpha
告诉您角色是否位于a-z, A-Z
。因此,您可以在过滤器表达式中使用它来过滤掉非字符(即标点符号)。在您进行过滤后,您只需将其加入包含''.join(...)
的字符串:
>>> token = 'asdf-,asdf'
>>> ''.join(filter(str.isalpha, token))
'asdfasdf'
答案 1 :(得分:0)
仅针对小写字母,您可以针对string.ascii_lowercase
进行测试:
from string import ascii_lowercase
...
for i in range(len(token)): # note that start=0 and step=1 are range's defaults
if token[i] in ascii_lowercase:
...