文本对比工具google-diff-match-patch

  • 1. 文本对比工具
    • 1.1 文本概述
    • 1.2 demos
    • 1.3 java案例
  • 2. 对比案例验证
    • 2.1 环境准备
    • 2.2 代码实现
    • 2.3 结果验证

1. 文本对比工具

1.1 文本概述

这里的文本对比工具不是像Beyond Compare工具一样,而是开源的文本对比工具包,通过代码实现文本对比。
Google的开源工具包google-diff-match-patch能够很好的实现文本对比,且兼容java,JavaScript,Python,lua等多种语言。

google-diff-match-patch原理就是文本a经过最少的增删改才能与文本b一样,通过红色,绿色或者横线呈现对比结果,也就是文本a与文本b不一样的地方。

GitHub地址:https://github.com/google/diff-match-patch
这是对应不同语言的实现,像cpp,csharp,dart,java,JavaScript,lua,Python等等。
其中demo是html的文件,直接打开可以清晰看到对比效果。

1.2 demos

解压demos

打开diff.html

1.3 java案例

2. 对比案例验证

java与JavaScript案例验证

2.1 环境准备

  1. 下载源码,通过GitHub地址:https://github.com/google/diff-match-patch
    解压后状态图
  2. 创建项目引入源码。

2.2 代码实现

源码diff_match_patch两千多行就不粘贴了,代码上传至gitee上来,需要自行下载。
gitee地址:https://gitee.com/rjzhu/test/tree/dev/

import java.util.LinkedList;
import name.fraser.neil.plaintext.diff_match_patch;public class hello {public static void main(String args[]) {diff_match_patch dmp = new diff_match_patch();LinkedList<diff_match_patch.Diff> diff = dmp.diff_main("Hello World.", "Goodbye World.");// Result: [(-1, "Hell"), (1, "G"), (0, "o"), (1, "odbye"), (0, " World.")]dmp.diff_cleanupSemantic(diff);// Result: [(-1, "Hello"), (1, "Goodbye"), (0, " World.")]System.out.println(diff);}
}

2.3 结果验证

启动项目
访问地址:http://localhost:8080/tests/speedtest.html

文本对比工具google-diff-match-patch相关推荐

  1. debug内exe文件复制到桌面无法打开_Diffinity.轻量级的文件|文本对比工具

    Diffinity是一款非常轻量级的文件与文本对比的小工具软件,软件的安装包仅475KB,同时支持高亮显示.插入显示.集成到资源管理器(右键菜单)等,非常的方便实用.并且最近的一次更新是在9月初,生命 ...

  2. linux/ubuntu下的代码对比工具Meld Diff

    linux/ubuntu下的代码对比工具Meld Diff 做开发的都知道,一个项目多个版本,有的时候多了自己都昏,还有就是比对别人的代码的时候,眼睛看怕是要爆炸. 所以我们一般使用代码对比工具,也就 ...

  3. linux--代码对比工具Meld Diff

    linux--代码对比工具Meld Diff 1 简介 2 安装 3 使用 参考 1 简介 Meld是一个可视的diff和合并工具.Meld是Linux软件,用户使用它可以比较2至3个文件并进行编辑, ...

  4. UltraCompare 22:文本对比工具 Mac版

    UltraCompare中文版还可以实现文本对比,二进制文档对比,以及实现进行对比的文档间的不同点的整合.极大地提高了工作效率! 会议 使用UltraCompare的会话功能,您可以在多个选项卡中打开 ...

  5. vim实用指南(9)vimdiff好用的可视化文本对比工具

    各种 IDE 大行其道的同时,传统的命令行工具以其短小精悍,随手可得的特点仍有很大的生存空间,这篇短文介绍了一个文本比较和合并的小工具:vimdiff.希望能对在 Unix/Linux 系统上进行开发 ...

  6. 前端文本对比工具使用 - mergely

    测试效果图 <!-- This example demonstrates the minimum amount of code required to use Mergely. --> & ...

  7. [文本对比工具] Beyond Compare

    目录 前言: 概述: 系统要求: 功能: 前言: 今天来安利一下工具了,这个是我群宝 给我分享的,今天记录一下了,摸摸鱼 概述: Beyond Compare是一套由Scooter Software推 ...

  8. Winform,RichTextBox,Json文本对比工具

    在工作中,有的时候需要做一些Json对比的需求,通过肉眼去找到不一样的地方 当然,现在有很多可以做对比的小工具,比如Beyond Compare 但是这个有个弊端,如果对比的时候是个Json字符串,没 ...

  9. linux图形化文本对比工具

    1. meld 1)工具介绍: Meld是一个适用于Gnome桌面的.开源的.图形化的文件差异查看和合并的应用程序.它支持2到3个文件的同时比较.递归式的目录比较.处于版 本控制(Bazaar, Co ...

  10. 文本对比工具推荐 winMerge

    工欲善其事必先利其器,工作中时常需要对比两个文件的区别,推荐开源工具 winMerge 特点 Windows 操作系统 .无需安装.开源 下载地址 winMerge 官方:http://winmerg ...

最新文章

  1. memset用法详解
  2. python 去除str的引号 去除括号_用python进行图像修复与去除水印
  3. python二十九:__name__
  4. 133. Clone Graph 克隆图
  5. POJ 2018 Best Cow Fences (二分答案构造新权值 or 斜率优化)
  6. nginx集群_windows环境下搭建简单Nginx+Tomcat集群
  7. 【Direct3D游戏开发】——DirectInput 让世界动起来
  8. 部门直推!百度大搜索招聘NLP、搜索方向算法工程师!
  9. Linux系统编程 -- 文件描述符的复制:dup()和dup2()
  10. Ubuntu18.04配置ork(ecto、ecto_image_pipeline、ecto_opencv、ork_reconstruction)
  11. hping 详解_hping3使用
  12. 计算机网络考研知识点整理,计算机网络考研知识点
  13. Java读取文件的N种方法
  14. 小程序进阶-用户消息通知
  15. android studio翻译插件Translation使用。。
  16. 使用vue-cropper
  17. 浅谈 渗透测试工程师(黑客) 技能
  18. 基因组选择技术在农业动物育种中的应用
  19. 关于2010年部分节假日安排
  20. centos文件系统,日志以及文件误删恢复

热门文章

  1. Win10 安装 Rational Rose
  2. 在office2003中打开office2007文件的补丁(.docx文件,pptx文件打开方法)
  3. 计算机搜索不到PDF,PDF能打印吗,pdf虚拟打印机找不到
  4. php无限分类算法,php递归算法 php递归函数无限级分类
  5. 计算机wps基础知识,计算机考试WPSOffice常见知识点
  6. 安装MyEclipse10 并且破解(附带软件包)
  7. Maven之(五)Maven仓库
  8. vbscript运行环境linux,VBScript 是什么?
  9. android 静默暗转_Android 7.0 静默安装
  10. 泰坦尼克号python数据分析统计服_python_泰坦尼克号数据分析报告