我试图比较两个文本文件,一个是Windows(CRLF),另一个是Unix(LF)。这两个文件在比较工具(如Beyond Compare)中打开时显示相同,尽管文件大小字节不同。是否有一种方法,使谷歌DMP显示文件是相等的?
任何帮助都是非常感激的。谢谢你!
你可以这样做:
DiffMatchPatch dmp = new DiffMatchPatch();
LinkedList<DiffMatchPatch.Diff> allDiff = dmp.diffMain(txt_1, txt_2);
allDiff.removeIf(diff ->
(diff.operation == Operation.DELETE || diff.operation == Operation.INSERT) &&
diff.text.matches("^(\r\n|\r|\n)+"));
下面是我用来匹配Windows, Linux和MacOS换行符的答案:匹配换行符- n还是rn?