我需要在Java字符串之间执行Diffs.我希望能够使用原始字符串和diff版本重建字符串.有没有人用Java做过这个?你用什么图书馆?
String a1; // This can be a long text
String a2; // ej. above text with spelling corrections
String a3; // ej. above text with spelling corrections and an additional sentence
Diff diff = new Diff();
String differences_a1_a2 = Diff.getDifferences(a,changed_a);
String differences_a2_a3 = Diff.getDifferences(a,changed_a);
String[] diffs = new String[]{a,differences_a1_a2,differences_a2_a3};
String new_a3 = Diff.build(diffs);
a3.equals(new_a3); // this is true
Run Code Online (Sandbox Code Playgroud)
ber*_*rdn 48
这个库似乎可以解决这个问题:google-diff-match-patch.它可以根据差异创建补丁字符串,并允许重新应用补丁.
编辑:另一种解决方案可能是https://code.google.com/p/java-diff-utils/
Pau*_*lan 22
Apache Commons有String diff
org.apache.commons.lang.StringUtils
StringUtils.difference("foobar", "foo");
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
71245 次 |
最近记录: |