什么是获取字符串中子字符串的所有首尾索引对的最佳方法?
例如,如果我的字符串s是“abcdegf”,那么子字符串“bcd”是s[1:4]。
这个函数可以给我答案,但我会很惊讶如果没有更优雅的解决方案。
例如,如果我的字符串s是“abcdegf”,那么子字符串“bcd”是s[1:4]。
这个函数可以给我答案,但我会很惊讶如果没有更优雅的解决方案。
>>> def substring_range(s, substring):
for i in range(len(s)-len(substring)):
if s[i:i+len(substring)] == substring:
yield (i, i+len(substring))
>>> [x for x in substring_range('abcdabcd', 'bc')]
[(1, 3), (5, 7)]
"abcdegf".index("bcd")
和"abcdegf".index("bcd") + len("bcd")
? - Psidomstr.find
和str.index
都返回子字符串的索引。要获取索引范围,您可以使用一个元组,将该索引作为第一个值,将索引加上子字符串长度作为第二个值。 - Random Davis