编程统计文本中的单词数量,不包括空格和除单引号以外的标点符号(!"#$%&()*+,./:;<=>?@[]^_{|}~\n),这些符号和空白符一样都是单词的分隔符,数字及多个连续的数字按一个单词计算,类似I'll和wife's等单词当成一个词计。
时间: 2023-11-27 18:53:06 浏览: 292
编写一个程序,用于统计文件中单词的总数,不同单词的数目。(假设输入文件中只包含字母和空格)
5星 · 资源好评率100%
首先,我们需要读入文本文件并将其内容存储到一个字符串变量中。然后,我们可以使用正则表达式来匹配单词并计数它们的数量。以下是一个Python程序示例:
```python
import re
with open('text.txt', 'r') as file:
text = file.read()
# 将文本中除字母、单引号和数字以外的字符替换为空格
text = re.sub(r"[^a-zA-Z0-9']", ' ', text)
# 将多个连续的空格替换为一个空格
text = re.sub(r"\s+", ' ', text)
# 统计单词数量
word_count = len(re.findall(r"\b\w+\b", text))
print("单词数量: ", word_count)
```
这个程序首先读取一个名为 `text.txt` 的文本文件,并将其内容存储到一个字符串变量中。接着,使用正则表达式将文本中除字母、单引号和数字以外的字符替换为空格,并将多个连续的空格替换为一个空格。最后,使用正则表达式 `\b\w+\b` 匹配所有单词,并使用 `len()` 函数计算单词数量。
阅读全文