标签: 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个字符。
"%important_what_i_need%"
10
我如何使用python执行此操作?我需要导入重新吗?
答案 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中的slicing和strings。
index - 2