ソースと変更された文字列を取得し、その中の変更された単語を太字にする次の関数があります。
def appendBoldChanges(s1, s2):
"Adds <b></b> tags to words that are changed"
l1 = s1.split(' ')
l2 = s2.split(' ')
for i, val in enumerate(l1):
if l1[i].lower() != l2[i].lower():
s2 = s2.replace(l2[i], "<b>%s</b>" % l2[i])
return s2
print appendBoldChanges("britney spirs", "britney spears") # returns britney <b>spears</b>
単語数が同じ文字列では正常に機能しますが、単語数が異なる場合は失敗しsora iro days
ますsorairo days
。
間隔を考慮に入れるにはどうすればよいですか?