python函数统计字符串中字母数学其他字符的个数

如题所述

代码如下:



text = "Hello Python,Hello 2021."
letter = 0
digital = 0
other = 0
for i in text:
if i.isalpha():
letter += 1
elif i.isdigit():
digital += 1
else:
other += 1

print('字母:{} 数字:{} 其他:{}'.format(letter,digital,other))


输出:

字母:16 数字:4 其他:4


下面是Python内置关于判断字符串类型的方法介绍:

    str.isalnum()

    如果字符串中的所有字符都是字母或数字且至少有一个字符,则返回 True ï¼Œ 否则返回 False ã€‚ 如果 c.isalpha() ï¼Œ c.isdecimal() ï¼Œ c.isdigit() ï¼Œæˆ– c.isnumeric() ä¹‹ä¸­æœ‰ä¸€ä¸ªè¿”回 True ï¼Œåˆ™å­—符``c``是字母或数字。

    str.isalpha()

    如果字符串中的所有字符都是字母,并且至少有一个字符,返回 True ï¼Œå¦åˆ™è¿”回 False ã€‚字母字符是指那些在 Unicode 字符数据库中定义为 "Letter" 的字符,即那些具有 "Lm"、"Lt"、"Lu"、"Ll" 或 "Lo" 之一的通用类别属性的字符。 注意,这与 Unicode 标准中定义的"字母"属性不同。

    str.isascii()

    如果字符串为空或字符串中的所有字符都是 ASCII ,返回 True ï¼Œå¦åˆ™è¿”回 False ã€‚ASCII 字符的码点范围是 U+0000-U+007F 。

    3.7 新版功能.

    str.isdecimal()

    如果字符串中的所有字符都是十进制字符且该字符串至少有一个字符,则返回 True ï¼Œ 否则返回 False ã€‚十进制字符指那些可以用来组成10进制数字的字符,例如 U+0660 ,即阿拉伯字母数字0 。 严格地讲,十进制字符是 Unicode 通用类别 "Nd" 中的一个字符。

    str.isdigit()

    如果字符串中的所有字符都是数字,并且至少有一个字符,返回 True ï¼Œå¦åˆ™è¿”回 False ã€‚ 数字包括十进制字符和需要特殊处理的数字,如兼容性上标数字。这包括了不能用来组成 10 进制数的数字,如 Kharosthi 数。 严格地讲,数字是指属性值为 Numeric_Type=Digit 或 Numeric_Type=Decimal 的字符。

    str.isidentifier()

    如果字符串是有效的标识符,返回 True ï¼Œä¾æ®è¯­è¨€å®šä¹‰ï¼Œ æ ‡è¯†ç¬¦å’Œå…³é”®å­— èŠ‚。

    调用 keyword.iskeyword() æ¥æ£€æµ‹å­—符串 s æ˜¯å¦ä¸ºä¿ç•™æ ‡è¯†ç¬¦ï¼Œä¾‹å¦‚ def å’Œ class。

温馨提示:答案为网友推荐,仅供参考
相似回答