gpt4 book ai didi

Python正则表达式提取字符串的一部分

转载 作者:太空狗 更新时间:2023-10-29 20:53:46 26 4
gpt4 key购买 nike

我想提取一个大字符串的一部分。有一个目标词和前后词数的上限。因此,提取的子字符串必须包含目标词及其前后的上界词。如果目标词更接近文本的开头或结尾,则前后部分可以包含较少的词。

示例字符串

“Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."

目标词: laboris

words_before: 5

words_after: 2

应该返回 ['veniam, quis nostrud exercitation ullamco laboris nisi ut']

我想到了几种可能的模式,但都没有奏效。我猜也可以通过简单地从目标词前后遍历字符串来完成。然而,正则表达式肯定会让事情变得更容易。任何帮助将不胜感激。

最佳答案

如果要拆分单词,可以使用slice()split() 函数。例如:

>>> text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, qu
is nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in
culpa qui officia deserunt mollit anim id est laborum.".split()

>>> n = text.index('laboris')
>>> s = slice(n - 5, n + 3)

>>> text[s]
['veniam,', 'quis', 'nostrud', 'exercitation', 'ullamco', 'laboris', 'nisi', 'ut']

关于Python正则表达式提取字符串的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32929016/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com