У меня есть большая строка. Я регулярно должен искать только части этой строки, но мне нужно теперь, где в большой строке найдены биты, найденные в срезах.Могу ли я найти фрагмент строки в Python, но сохранить индекс относительно исходной строки?
Есть ли способ использовать «маску» на строке? То есть
original = 'This is a mock-up large string'
a_slice = original[10:23]
a_slice.find('o')
>>> 1 in a_slice; 11 in original
Просто повторение поиска не является вариантом, поскольку это слишком дорогостоящий процессор.
Обновление
Приведенный выше пример игрушки использует find. На практике я использую re.finditer().
Почему вы не сохранить первоначальное значение в переменной а затем добавить его к индексу, который вы вычисляете из подстроки? –
У меня есть тысячи кусочков, поэтому это может вызвать накладные расходы, но стоит попробовать @BhargavRao. – Private
Обновление показывает, что вы попали на проблему [XY Problem] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem). Также см. [Сколько изменений в вопросе слишком много?] (Http://meta.stackoverflow.com/q/290297) –