从字符串中提取子字符串,并在前后包含10个字符

时间:2014-05-15 19:39:01

标签: python regex

我有一个字符串:

str = "alskdfj asldfj 1234_important_what_i_need_123 sdlfja faslkdjfsdkf 234234_important_what_i_need_12312 alsdfj asdfj"

我想从字符串中提取"%important_what_i_need%"位的每次出现,包括搜索词之前和之后的10个字符。

我如何使用python执行此操作?我需要导入重新吗?

1 个答案:

答案 0 :(得分:1)

从“aaafoobbb”开始,寻找“foo”以及两边的周围两个角色,你可以这样做:

>>> start_string = "aaafoobbb"
>>> search_string = "foo"
>>> index = start_string.index(search_string)
>>> s[(index - 2) : (index + len(search_string) + 2)]

应该很容易适应您的需求,尽管您需要添加一些额外的检查以确保切片索引在范围内(例如,确保index - 2不小于0)。您肯定希望更熟悉Python中的slicingstrings