在python中,产生突出显示两个简单字符串差异的HTML
题
我需要使用python突出显示两个简单字符串之间的差异,并将不同的子字符串包含在HTML span属性中。因此,我正在寻找一种简单的方法来实现以下示例所示的功能:
hightlight_diff('Hello world','HeXXo world','red')
...它应该返回字符串:
'He<span style="color:red">XX</span>o world'
我已经在Google上搜索并看到了difflib,但是它应该已经过时,并且我还没有找到任何好的简单演示。
解决方案
您所需的一切都来自difflib-例如: 通用标签
该列表中的每个元素都是您的两个输入字符串中的一个字符,前缀为其中一个
-
" "
(2个空格),两个字符串都位于该位置的字符 -
"- "
(破折号),第一个字符串中该位置的字符 -
"+ "
(加空格),第二个字符串中该位置的字符。遍历该列表,您可以完全构建要创建的输出。
在 docs 中,没有提及difflib已过时或过时。
不隶属于 StackOverflow