已知变量 s="学而时习之,不亦说乎?有朋自远方来,不亦乐乎?人不知而不愠,不亦君子乎?",编程统计并输出字符串 s 中汉字和标点符号的个数。(Python)
时间: 2024-09-15 15:11:09 浏览: 61
用EXCEL进行线性回归分析及测量不确定度的计算
在Python中,我们可以使用内置的`str`函数和正则表达式库`re`来统计字符串`s`中汉字和标点符号的数量。首先,我们需要定义一个包含所有汉字和标点符号的正则表达式模式。接下来,我们将遍历字符串,匹配该模式,并计算匹配到的数量。
以下是相应的Python代码:
```python
import re
s = "学而时习之,不亦说乎?有朋自远方来,不亦乐乎?人不知而不愠,不亦君子乎?"
# 定义包含汉字和标点符号的正则表达式模式
pattern = r'[^\u4e00-\u9fa5a-zA-Z0-9\s]+' # \u4e00-\u9fa5是汉字的Unicode范围
# 使用re.findall找到所有的非汉字、字母、数字和空格字符
matches = re.findall(pattern, s)
# 计算汉字(通过检查是否在中文范围内)和标点符号(不在英文、数字或空白中)的数量
hanzi_count = sum(1 for char in matches if '\u4e00' <= char <= '\u9fa5')
punctuation_count = len(matches) - hanzi_count
print(f"汉字数量:{hanzi_count}")
print(f"标点符号数量:{punctuation_count}")
```
阅读全文