【发布时间】:2020-01-17 00:00:38
【问题描述】:
我想要一个可以直观地标记两个字符串之间差异的函数。
示例 1:
输入:
- 堆栈溢出
- 堆栈溢出
输出:
- 堆栈 [O]verflow
- 堆栈 [o]overflow[ing]
示例 2:
输入:
- 重新堆栈溢出
- 堆栈-Ooooverflow
输出:
- [Res]tack[]溢出
- [S]tack[-]O[ooo]verflow
我已经搜索了很多,但我总是以文件比较功能结束。我想可视化字符串之间的区别。我发现的一个例子是https://text-compare.com(这正是我需要的),但它似乎使用了服务器端代码。
语言并不重要,JavaScript、Python,但任何如何解决这个问题的指针都会很好。
我不一定要寻找实现;我宁愿有一些网站的链接,因为这不是一个基本问题。也不是太难,但你想把它做好。
【问题讨论】:
-
嗯,编辑距离和序列很有趣,但我不知道如何使用它们来解决这个问题。
-
解决方案需要走多远?如果将 stack overflow 与 stack is overflowing 比较会发生什么,哪些位会突出显示?我想你会想要
[the] stack [is] overflow[ing],但是与the flow stack is overflowing相比,这变得无限复杂 - 单词流在那里两次(一次作为差异,一次作为相等)但两者都会突出显示。