python - 计算一个字符串中有多少个字母
问题描述
我想计算一个字符串中有多少个字母 [a...z] 的字符,我不在乎“!” 或者 ”?” 或“\n”、“”、“.” 和许多其他人。我只想要字母。
我试图使用 collections.Counter(string) 但问题是 Counter 正在获取这些不需要的字符,我不知道如何不考虑它们。
另一个问题是在我的真实习惯中,我们不仅使用“o”,还使用“ô”和“ó”以及“e”、“é”或“ç”。在这些情况下,必须考虑这些字符。
我怎样才能做到这一点?
解决方案
使用后删除非字母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())
推荐阅读
- laravel - 添加参数到 authorizeResource
- node.js - npm 错误!ELOOP:遇到太多符号链接,安装 Angular Cli 时 stat '\\ctxenv01\profile$\'
- unix - 如何在unix中过滤特殊字符和空行
- css - 在 React 中使用 useRef() 触发 CSS 动画
- mysql - 无法让 Django 在 Dockerfile 中连接到 MySQL
- r - 使用数字条件替换特定组中的值
- javascript - 纱线构建的“EACCES:权限被拒绝,取消链接”
- html - rvest html_nodes 返回 {xml_nodeset (0)}
- spring - 运行 Spring Boot 应用程序的 Docker 容器不响应请求
- c++ - &NAME->FIELD 是什么意思,当 NAME - 结构上的指针,用 typedef 创建时?