首页 > 解决方案 > 计算一个字符串中有多少个字母

问题描述

我想计算一个字符串中有多少个字母 [a...z] 的字符,我不在乎“!” 或者 ”?” 或“\n”、“”、“.” 和许多其他人。我只想要字母。

我试图使用 collections.Counter(string) 但问题是 Counter 正在获取这些不需要的字符,我不知道如何不考虑它们。

另一个问题是在我的真实习惯中,我们不仅使用“o”,还使用“ô”和“ó”以及“e”、“é”或“ç”。在这些情况下,必须考虑这些字符。

我怎样才能做到这一点?

标签: pythonstringcounter

解决方案


使用后删除非字母collections.Counter

import collections
import string

counter = collections.Counter(yourString)
for char in counter.keys():
    if not isalpha(char):
        del counter[char]

这将分别对抗大写和小写字母,以及具有不同重音和变音符号的字母。如果要忽略大小写,可以使用collections.Counter(yourString.lower()). 如果您还想忽略变音符号,请使用collections.Counter(yourString.encode('ascii', 'ignore').decode().lower())


推荐阅读