在Python中,可以使用正则表达式和字符串操作来提取当前句子和特定单词周围的句子。下面是一个示例代码:
import re
def extract_sentences(text, word, window_size):
# 使用正则表达式将文本分割成句子
sentences = re.split(r'(?<!\w\.\w.)(?<![A-Z][a-z]\.)(?<=\.|\?)\s', text)
extracted_sentences = []
for sentence in sentences:
# 使用正则表达式匹配特定单词
if re.search(r'\b{}\b'.format(word), sentence):
# 获取特定单词在句子中的位置
word_index = sentence.index(word)
# 提取特定单词周围的句子
start_index = max(0, word_index - window_size)
end_index = min(len(sentence), word_index + len(word) + window_size)
extracted_sentence = sentence[start_index:end_index]
extracted_sentences.append(extracted_sentence)
return extracted_sentences
# 示例用法
text = "Python是一种通用的、解释型的高级编程语言。它具有简洁、易读的语法,适用于各种领域的开发。Python可以用于Web开发、数据分析、人工智能等领域。"
word = "Python"
window_size = 5
result = extract_sentences(text, word, window_size)
for sentence in result:
print(sentence)
上述代码中,extract_sentences
函数接受三个参数:text
表示待提取的文本,word
表示要匹配的特定单词,window_size
表示要提取的特定单词周围的句子的窗口大小(即向前和向后提取的句子数量)。
函数首先使用正则表达式将文本分割成句子,然后遍历每个句子,使用正则表达式匹配特定单词,并获取其在句子中的位置。接着,根据窗口大小提取特定单词周围的句子,并将其存储在extracted_sentences
列表中。最后,返回提取到的句子列表。
示例用法中,我们提取了包含特定单词"Python"的句子,并打印输出结果。
请注意,上述代码仅提供了一个基本的示例,实际应用中可能需要根据具体需求进行适当的修改和优化。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云