В python создайте HTML, выделяя различия двух простых строк

StackOverflow https://stackoverflow.com/questions/9396254

  •  29-10-2019
  •  | 
  •  

Вопрос

Мне нужно выделить различия между двумя простыми строками с помощью python, заключив разные подстроки в атрибут диапазона HTML.Итак, я ищу простой способ реализовать функцию, показанную в следующем примере:

hightlight_diff('Hello world','HeXXo world','red')

... он должен вернуть строку:

'He<span style="color:red">XX</span>o world'

Я искал в Google и видел упоминание о diffflib, но он должен быть устаревшим, и я не нашел ни одной хорошей простой демонстрации.

Это было полезно?

Решение

Все, что вам нужно, получается из diffflib - например:

родовое слово

Каждый элемент в этом списке представляет собой символ из двух ваших входных строк с префиксом одного из

  • " " (2 пробела), символ присутствует в этой позиции в обеих строках
  • "- " (пробел), символ присутствует в этой позиции в первой строке.
  • "+ " (плюс пробел), символ, присутствующий в этой позиции во второй строке.

Просмотрите этот список, и вы сможете создать именно тот результат, который хотите создать.

В документации нет упоминания об устаревании или устаревании diffflib.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top