我有两个字符串,我想得到不匹配发生的索引:
str = "abcdef"
str2 = "abddef"
Output: 2
所以有人能告诉我java中是否有内置函数来获取索引?如果没有,有人可以给我一个提示吗?谢谢!
答案 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)
以下是如何解决问题的分步说明。我假设你想把它作为一个函数来实现:
首先处理字符串为equal
的情况。如果是,则返回适当的值。
接下来,找到最短字符串的长度。
然后for
遍历最短字符串的长度,比较字符串的i
字母。返回找到的任何不匹配的索引。
如果未发现不匹配,则返回较短字符串的长度。
提示:字符串类的.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,表示不匹配。