如何计算字符串中的字母

时间:2015-01-29 17:34:33

标签: python

我正在尝试使用计数器来计算我的字符串中有多少个字母,但我不能!我曾多次尝试过。 有人可以告诉我一种方法吗?

实施例: " Ebeneezer Scrooge是一个非常讨厌的男人"

对不起这个例子,你可以说什么......我只是想知道你是怎么做的

到目前为止我的代码:

Name = "Wayne Rooney is overpaid"
NumberOfLetters = 0
for Letters in Name:
Name.count(Letters + 1)
print(NoOfLetters)

3 个答案:

答案 0 :(得分:0)

首先过滤来自可能的标点符号,空格和数字的字母,然后将它们连接成一个新的字符串letters,如下所示,

import re
letters = ''.join(re.findall("[a-zA-Z]+", Name))

然后计算字母出现的总数,

len(letters)

并且用于计算letters中出现的不同字母的数量,例如,考虑

len( set(letters) )

答案 1 :(得分:0)

>>> import string
>>> print string.printable[10:62]
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
>>> a
'this is a string with some letters 1010'
>>> letters = 0
>>> for i in a:
...     if i in string.printable[10:62]:
...             letters += 1
... 
>>> print letters
28

答案 2 :(得分:-2)

from collections import Counter

name = "Wayne Rooney is overpaid"

print (sum(Counter("".join(name.split())).values()))

Counter方法对字符串进程很有用,它返回一个dict。先检查一下;

print (Counter(name))

您会看到包含keys=lettersvalues=counts of that letters的词典。基本上将这些值相加,但使用split()删除字母之间的空格。