Python输入一个包含标点符号的英文句子,统计输出句子中的单词个数
时间: 2024-05-14 08:17:33 浏览: 340
Python实现统计单词出现的个数
可以使用 Python 内置的字符串方法和正则表达式来实现这个功能。下面是一个示例代码:
```python
import re
# 输入句子
sentence = input("请输入一个包含标点符号的英文句子:")
# 使用正则表达式替换标点符号为空格,然后按空格分割单词
words = re.sub(r'[^\w\s]', ' ', sentence).split()
# 输出单词个数
print("单词个数为:", len(words))
```
解释一下代码:
首先,使用 `input` 函数获取用户输入的句子。
然后,使用正则表达式 `r'[^\w\s]'` 匹配所有非字母数字和空白字符的字符,也就是标点符号。使用 `re.sub` 函数将所有匹配到的标点符号替换为空格。
最后,使用 `split` 方法按空格分割字符串,得到单词列表。使用 `len` 函数获取单词列表的长度,即单词个数。
需要注意的是,这个方法可能会将连字符(hyphen)误认为是句子中的一个单词,因为连字符通常用于连接单词,例如 "full-time"。如果需要正确地统计单词个数,可以将正则表达式修改为 `r'[^\w\s-]'`,将连字符也排除在外。
阅读全文