python对txt文本中出现关键词的句子提取,合成一个新的txt文本
时间: 2024-05-06 16:14:47 浏览: 133
可以使用Python的正则表达式和文件操作来实现这个功能。
1. 首先,读取原始文本文件,并将其分割成单独的句子。可以使用nltk模块中的sent_tokenize函数来实现分句。
```python
import nltk
nltk.download('punkt')
with open('original.txt', 'r') as f:
text = f.read()
sentences = nltk.sent_tokenize(text)
```
2. 然后,使用正则表达式来匹配包含关键词的句子。假设我们要匹配的关键词是"Python",可以使用re模块来实现正则表达式的匹配。
```python
import re
keyword = "Python"
matched_sentences = [sent for sent in sentences if re.search(keyword, sent)]
```
3. 最后,将匹配的句子合成一个新的文本文件。可以使用Python的文件操作来实现。
```python
with open('new.txt', 'w') as f:
for sent in matched_sentences:
f.write(sent + '\n')
```
完整代码如下:
```python
import nltk
import re
nltk.download('punkt')
with open('original.txt', 'r') as f:
text = f.read()
sentences = nltk.sent_tokenize(text)
keyword = "Python"
matched_sentences = [sent for sent in sentences if re.search(keyword, sent)]
with open('new.txt', 'w') as f:
for sent in matched_sentences:
f.write(sent + '\n')
```
阅读全文