Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Keywords Finder by blaxmi
from collections import defaultdict
from re import escape, finditer, IGNORECASE
def checkio(text, words):
occurrence = defaultdict(set)
for label, word in enumerate(words.split()):
for m in finditer(escape(word), text, IGNORECASE):
for i in range(*m.span()):
occurrence[i].add(label)
wrapped = []
for i, c in enumerate(text):
if occurrence[i] and occurrence[i].isdisjoint(occurrence[i - 1]):
wrapped.append('')
wrapped.append(c)
if occurrence[i] and occurrence[i].isdisjoint(occurrence[i + 1]):
wrapped.append('')
return ''.join(wrapped)
April 9, 2014
Comments: