加入收藏 | 设为首页 | 会员中心 | 我要投稿 威海站长网 (https://www.0631zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

oracle – 突出显示两个字符串之间的差异

发布时间:2021-01-15 05:14:50 所属栏目:站长百科 来源:网络整理
导读:如果我有两个冗长的字符串,VARCHAR2,是否有一个简单的方法或算法我可以复制或移植到PL / SQL来比较它们,插入标记(即,当在网页中呈现时,差异将被突出显示). 例如: BEGIN DBMS_OUTPUT.put_line( markup_differences (in_old = 'Hello world,this is your capt

如果我有两个冗长的字符串,VARCHAR2,是否有一个简单的方法或算法我可以复制或移植到PL / SQL来比较它们,插入标记(即,当在网页中呈现时,差异将被突出显示).

例如:

BEGIN
  DBMS_OUTPUT.put_line(
    markup_differences
         (in_old     => 'Hello world,this is your captain speaking.',in_new     => 'Hello WORLD,this is not your captain.',in_preins  => '<ins>',in_postins => '</ins>',in_predel  => '<del>',in_postdel => '</del>'
         ));
END;

预期产量:

Hello <del>world</del><ins>WORLD</ins>,this is <ins>not</ins> your captain
<del>speaking</del>.

请注意,这表明“世界”已更改为“WORLD”,插入了“not”,并且删除了“speak”.

背景:我的目的是比较两个大部分相似的HTML片段,并用高亮标记它们以便在浏览器中显示.性能不是优先考虑的事项.这是一次性的应用程序,所以我不是一个完美的解决方案.即使某些事情让我变得更好,但事实上我还没有向客户承诺任何东西:)

或者,我可以轻松地在我的Apex应用程序中使用Javascript中的简单解决方案.

解决方法

John Resigs博客上有一个非常简单的js-diff算法: http://ejohn.org/projects/javascript-diff-algorithm/

也许这有帮助.

(编辑:威海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读