В python создайте HTML, выделяя различия двух простых строк
Вопрос
Мне нужно выделить различия между двумя простыми строками с помощью python, заключив разные подстроки в атрибут диапазона HTML.Итак, я ищу простой способ реализовать функцию, показанную в следующем примере:
hightlight_diff('Hello world','HeXXo world','red')
... он должен вернуть строку:
'He<span style="color:red">XX</span>o world'
Я искал в Google и видел упоминание о diffflib, но он должен быть устаревшим, и я не нашел ни одной хорошей простой демонстрации.
Решение
Все, что вам нужно, получается из diffflib - например:
родовое словоКаждый элемент в этом списке представляет собой символ из двух ваших входных строк с префиксом одного из
-
" "
(2 пробела), символ присутствует в этой позиции в обеих строках -
"- "
(пробел), символ присутствует в этой позиции в первой строке. -
"+ "
(плюс пробел), символ, присутствующий в этой позиции во второй строке.
Просмотрите этот список, и вы сможете создать именно тот результат, который хотите создать.
В документации нет упоминания об устаревании или устаревании diffflib.