【问题标题】:Java simple String diff utilJava 简单的字符串差异工具
【发布时间】:2010-10-06 21:27:26
【问题描述】:

我正在寻找一个简单的 java lib/src 来突出两个字符串之间的差异,区分大小写。 html 输出会很棒,但我很乐意获得差异的索引,例如:

diff("abcd","aacd") 
> [2,2]
diff("maniac", "brainiac")
> ["man",brain"] or [0,3] or something like that

这个想法是在一个 Swing 程序中突出拼写错误等,因为输入必须遵循严格的约定。

【问题讨论】:

  • 识别错别字是一个非常复杂的问题。您是否要将每个输入单词与每个有效单词进行比较?请在网上查找拼写建议等
  • 这并不是真正的重复,因为您询问的是如何突出差异,但this related question 上有一些很好的答案。
  • 我不是在寻找输入验证。我正在寻找字符串比较。

标签: java algorithm string swing diff


【解决方案1】:

java-diff 项目也可能有用。

这是用于 Java 的最长公共子序列 (LCS) 算法的实现。 Diff#diff() 方法返回一个 Difference 对象列表,每个对象描述两个集合之间的添加、删除或更改。

【讨论】:

    【解决方案2】:

    Apache Commons Lang 有一个名为 StringUtils 的类,它既有差异又有 indexOfDifference,可以满足您的需求。

    http://commons.apache.org/lang/

    看看

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多