python: найти второе совпадение подстроки в строке и вывести 2 символа до этого совпадения!

Kак заставить программу выдать при поиске второго совпадения строки string_2 в string_1 два символа до этого совпадения - программа должна выдать ответ - 1G

string_1 = 'uvasdvbaodaiudhfuiahsdfiuabsdgihuaishguapishgdaipsgfuda1Guvasd'
string_2 = 'uvasd'

Ответы (2 шт):

Автор решения: Vladimir Afanasyev
string_1 = 'uvasdvbaodaiudhfuiahsdfiuabsdgihuaishguapishgdaipsgfuda1Guvasd'
string_2 = 'uvasd'
secondPos = string_1.index(string_2, string_1.index(string_2) + len(string_2), len(string_1))
print(string_1[secondPos - 2:secondPos])

Данной строкой мы находим первое вхождение после первого вхождения в строке:

secondPos = string_1.index(string_2, string_1.index(string_2) + len(string_2), len(string_1))

Данной строкой мы выводим 2 символа до второго вхождения:

print(string_1[secondPos - 2:secondPos])
→ Ссылка
Автор решения: CrazyElf

Совсем коротенькое решение, как вариант:

string_1 = 'uvasdvbaodaiudhfuiahsdfiuabsdgihuaishguapishgdaipsgfuda1Guvasd'
string_2 = 'uvasd'
print(string_1.split(string_2)[1][-2:])
  • string_1.split(string_2) разбиваем первую строку вхождениями второй строки
  • [1] берём 2-й кусочек получившегося разбиения, поскольку индексирование в Питоне идёт с нуля, используем индекс 1
  • [-2:] берём последние два символа строки

Вывод:

1G
→ Ссылка