在python中,生成HTML,突出显示两个简单字符串的差异

2024-10-01 15:38:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要用python突出显示两个简单字符串之间的区别,在htmlspan属性中包含不同的子字符串。因此,我正在寻找一种简单的方法来实现以下示例所示的函数:

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

…它应该返回字符串:

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

我在google上看到difflib被提到过,但它应该已经过时了,我还没有找到任何好的简单的演示。在


Tags: 方法函数字符串示例helloworld属性diff
1条回答
网友
1楼 · 发布于 2024-10-01 15:38:21

您需要的一切都来自difflib,例如:

>>> import difflib
>>> d = difflib.Differ()
>>> l = list(d.compare("hello", "heXXo"))
>>> l
['  h', '  e', '- l', '- l', '+ X', '+ X', '  o']

该列表中的每个元素都是两个输入字符串中的一个字符,前缀为

  • " "(2个空格),两个字符串中该位置的字符
  • "- "(短划线空格),位于第一个字符串中该位置的字符
  • "+ "(加空格),第二个字符串中该位置的字符。在

迭代该列表,您就可以精确地构建要创建的输出。在

没有提到difflib在docs中以任何方式过时或不推荐使用。在

相关问题 更多 >

    热门问题