字符串不匹配索引

时间:2017-07-06 07:53:19

标签: java string

我有两个字符串,我想得到不匹配发生的索引:

str = "abcdef"
str2 = "abddef"

Output: 2

所以有人能告诉我java中是否有内置函数来获取索引?如果没有,有人可以给我一个提示吗?谢谢!

3 个答案:

答案 0 :(得分:0)

    String str = "hello";
    String str2 = "helll";
    int indexDif = -1;
    for(int i=0; i<str.length(); i++)
        if(str.charAt(i) != str2.charAt(i))
        {
            indexDif = i;
            break;
        }

假设两个字符串长度相同

答案 1 :(得分:0)

以下是如何解决问题的分步说明。我假设你想把它作为一个函数来实现:

  1. 首先处理字符串为equal的情况。如果是,则返回适当的值。

  2. 接下来,找到最短字符串的长度。

  3. 然后for遍历最短字符串的长度,比较字符串的i字母。返回找到的任何不匹配的索引。

  4. 如果未发现不匹配,则返回较短字符串的长度。

  5. 提示:字符串类的.length().equals().charAt()方法将非常有用。

答案 2 :(得分:0)

public static int myCompare(String s1, String s2){
    int counter = 0;
    while (s1.length() > counter && s2.length() > counter){
      if (s1.charAt(counter) == s2.charAt(counter)) 
        counter++;
      else
        return counter;
    }

    if (counter < s1.length() || counter < s2.length() )
      return counter;
    else
      return -1;
  }

如果它们相等,则返回-1,否则返回0-index,表示不匹配。