我有一个工作代码集,它遍历一个字符串并搜索2个相关的子字符串。(大声向user@bulbus求助!)你知道吗
该代码返回一个元组列表,其中包含每个子字符串的下一个实例的位置的索引位置。你知道吗
例如,如果字符串和子字符串如下所示:
sub_A = "StringA"
sub_B = "StringB"
s = "abcdefStringAghijklStringB"
然后代码返回元组(6,19)
,因为这是两个字符串存在的下一个索引位置。你知道吗
代码的相关部分如下所示:
[(m.start(),re.compile(sub_b).search(s,m.start()).start()) for m in re.finditer(sub_A,s)]
但是,我想更改代码,使其仅在值为偶数时才向元组返回值。也就是说,在我上面的例子中,值“19”不应该是有效的返回值。你知道吗
例如,假设这是我的新字符串:
xxStringAStringBStringB
我希望元组返回(2,16)
。因为这些是下一个“有效”的回报。你知道吗
我的代码当前返回(2,9)
,但我想跳过索引9处的“StringB”,因为它是一个奇数。你知道吗
有什么想法?谢谢!!你知道吗
finditer
来查找sub_B
之后的所有sub_A
,但是我们需要在满足以下条件的第一个条件(偶数位置)上进行救助sub_B
,我们希望迭代返回一个默认值,在本例中,我们选择了None
相关问题 更多 >
编程相关推荐