如何在Python中编写一个程序来统计文本文件中的英文单词数量,同时排除标点符号和非英文单词的干扰?
时间: 2024-12-01 21:27:28 浏览: 36
要编写一个能够准确统计文本文件中英文单词数量的Python程序,需要对原始文本进行预处理,以排除标点符号和非英文单词的干扰。可以通过使用正则表达式来去除文本中的标点符号,并筛选出仅包含字母的单词。以下是实现这一功能的示例代码:
参考资源链接:[Python实现单词统计与字符串分割](https://wenku.csdn.net/doc/6453480aea0840391e779209?spm=1055.2569.3001.10343)
```python
import re
def count_english_words(file_path):
# 打开并读取文件内容
with open(file_path, 'r', encoding='utf-8') as ***
***
* 使用正则表达式去除标点符号,并分割单词
# \w 匹配任何字母数字字符,等价于 [a-zA-Z0-9_]
# 在正则表达式后添加加号 + 表示匹配一个或多个字母数字字符
words = re.findall(r'\b\w+\b', text.lower())
# 过滤掉非英文单词
english_words = [word for word in words if re.match(r'^[a-z]+$', word)]
# 返回英文单词的数量
return len(english_words)
# 假设文本文件路径为 'example.txt'
file_path = 'example.txt'
print(
参考资源链接:[Python实现单词统计与字符串分割](https://wenku.csdn.net/doc/6453480aea0840391e779209?spm=1055.2569.3001.10343)
阅读全文