Более простым подходом было бы использование str
replace
метода:
lofw = ['GO','IS','OD']
mystr1 = 'HISTORICAL'
r = mystr1
pre = '<span style="color: red">'
post = '</span>'
for sub in lofw:
r = r.replace(sub, pre + sub + post)
Для HISTORICAL
это дает:
H<span style="color: red">IS</span>TORICAL
А для HISGODTORICAL
это дает:
H<span style="color: red">IS</span><span style="color: red">GO</span>DTORICAL
Если вас беспокоит немедленное закрытие и открытие тегов, вы можете добавить это после l oop:
r = r.replace(post+pre, "")
Так что теперь для HISGODTORICAL
мы получим:
H<span style="color: red">ISGO</span>DTORICAL