【发布时间】:2015-12-31 22:53:09
【问题描述】:
我想提取一个大字符串的一部分。在此之前和之后的词数有一个目标词和一个上限。因此,提取的子字符串必须包含目标词以及它之前和之后的上限词。如果目标词更接近文本的开头或结尾,则前后部分可以包含较少的词。
示例字符串
“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谴责 voluptate velit esse cillum dolore eu fugiat nulla pariatur。Exceptioneur 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']
我想到了几种可能的模式,但都没有奏效。我想也可以通过简单地从目标词前后遍历字符串来完成。然而,正则表达式肯定会让事情变得更容易。任何帮助将不胜感激。
【问题讨论】:
-
感谢您的所有回答。所有这些都按需要工作。正则表达式对我来说最方便,因为我的字符串中充满了非字母字符!
标签: python regex python-2.7