我刚开始学习python,我可以想出两种方法来计算字符串中的字母(忽略数字、标点和空格)
for c in s:
if c.isalpha():
counter += 1
print(counter)
import re
s = "Nice. To. Meet. You."
letters = re.findall("([a-z]|[A-Z])", s)
counter = len(letters)
print(counter)
有谁能告诉我有没有一种“Python式”的方法可以达到同样的效果? 就像单行代码或调用的函数返回一个int,这就是答案? 多谢各位
您可以使用正则表达式删除任何非字母的内容,然后计算字符串的长度:
你的第一种方法是完美的Python式的,而且可能是一种方式。您可以使用
filter
或列表理解稍微简化为:或:
您的第二种方法实际上并不可取,因为您实际上不需要为此使用正则表达式。注意,顺便说一下,您可以将该模式简化为
([a-zA-Z])
相关问题 更多 >
编程相关推荐