Python编写计算字符串s = “12abc34 def!@#”中的数字、字母、空格和其他字符的个数
时间: 2024-10-23 12:11:48 浏览: 7
python 两个一样的字符串用==结果为false问题的解决
在Python中,我们可以使用正则表达式库`re`来识别和计数字符串中的不同类型的字符。首先需要安装`re`库,如果没有安装,可以使用`pip install re`命令。
以下是一个函数,它会分别计算字符串中的数字、字母、空格和其他字符的数量:
```python
import re
def count_types(s):
# 匹配数字
digits = len(re.findall(r'\d', s))
# 匹配大小写字母
letters = len(re.findall(r'[a-zA-Z]', s))
# 匹配空格
spaces = len(re.findall(r'\s', s))
# 其他字符,包括特殊字符
others = len(s) - (digits + letters + spaces)
return {"Digits": digits, "Letters": letters, "Spaces": spaces, "Others": others}
# 测试字符串
s = "12abc34 def!@#"
result = count_types(s)
print(result)
阅读全文