java - 如何检查一个字符串的字符与另一个字符串的其他字符不匹配

标签 java

我有两个字符串,即

   String test1 = "If you want to succeed then work hard.Best of luck" .

   String test2 = "If you want to succeed then work hard.Best of Yuck" .

基本上,这些是我在这里引用的虚拟测试字符串。实际上,我有超过 10000 行字符的字符串。

我想检查这些字符串是否相等。我知道 .equals 会比较两个字符串值并返回一个 boolean 值。但我想检查它不匹配哪个字符。

我尝试过:-

for(int i=0 ; i<=test1.length();i++){
            for(int j=0 ; j<=test2.length();j++){
          if (test1.charAt(i)==test2.charAt(j)){
           System.out.println("Matched "+test1.charAt(i)+"  "+test2.charAt(j));
                }
          else{
        System.out.println("Not Matched "+test1.charAt(i)+"  "+test2.charAt(j));
            }
              } 
                }

但是此代码将检查 test1 字符串的每个字符与 test2 的每个字符并打印。 我想检查 test1 的每个字符和 test2 的每个字符。

最佳答案

您在StringUtils中有difference方法 Apache 库。它将返回字符串中不同的部分。

此外,您还有一些更有用的方法(即 indexOfDifference 它将返回差异开始的索引或 getLevenshteinDistance 这将返回需要应用于一个的更改数量字符串,因此它等于其他),因此通过组合这些,您可能会得到您想要的。

更复杂用法的其他选项可以是外部库(可以帮助您的是 java-dif-utils )。

关于java - 如何检查一个字符串的字符与另一个字符串的其他字符不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29316285/

相关文章:

java - 检查 List<String[]> 是否包含 String[] 的最佳方法

java - ColdFusion 未捕获 NoClassDefFoundError

java - 我可以做什么来将文件和文件夹转换为数组字节?

java - 在 Maven 项目之间导入 Protocol Buffer 定义

java - 如何使用 REST 将二进制文件从 JQuery 客户端发布到 Java 服务器

JavaFX 在鼠标图标旁边拖放自定义节点

java - 将范围保持在一组特定的数字内

java - Hibernate 通用 DAO、通用服务和通用 View 层?

java - 用 Java Graphics.drawString 替换的充分理由?

java - 在 Spring Boot 中使用 EntityManager