比较Java中的两个字符串并显示字符差异

时间:2017-08-13 17:12:35

标签: java string comparison character

我正在寻找一种方法来逐个字符地比较两个字符串。

它应该显示是否还有其他字符不会出现在两个字符串中。

有人有解决方案吗?

注意:

听听大家,你告诉我的这个话题不是我想要的东西:

 for(int j=0; j < min; j++) {
          s1 = w1.substring(j,j+1);
          s2 = w2.substring(j,j+1);

          if (!s1.equalsIgnoreCase(s2) ){
            counter++;    

          }
        }

这只是差异的顺序。但我想知道这两个字符串之间是否存在差异。

 So **abc** and **cab** should count as a hit

2 个答案:

答案 0 :(得分:1)

我认为您想要的是显示2个字符串具有相同的字母和每个字母的相同数量。使用2个哈希集,其中键是字符,值是字符串中出现的次数。你将为每个字符串设置一个hashset,然后遍历字符串将字符添加到集合中并进行比较以查看集合是否相等。

答案 1 :(得分:0)

将它们转换为charArrays并将差异添加到空字符串中,因为for循环会扫描它们,例如

<proxy>
      <id>example-proxy</id>
      <active>true</active>
      <protocol>http</protocol>
      <host>proxy.example.com</host>
      <port>8080</port>
      <username>proxyuser</username>
      <password>somepassword</password>
      <nonProxyHosts>www.google.com|*.example.com</nonProxyHosts>
</proxy>

我相信运行不同()会返回&#34; ac&#34;因为他们都在中间有b。这是你想要的吗?