如何从字符串中的另一个字符串中找到任何字符的第一次出现的索引?

时间:2017-10-23 02:17:31

标签: java

/* returns the index of the first occurrence of any of the
 * characters in chars in String s or -1 if none of the characters
 * in chars are found in s. */

以上是说明,下面是我的代码。

public static void main(String[] args){

     indexOfAny("kabomba","bomb");

}   

public static int indexOfAny(String s, String chars) {

        int index = 0;
        String rev = "";

        for(int i = s.length()-1;i>=0;i--){
            rev+=s.charAt(i);
        }

        String x = rev;

        for(int i = 0;i<x.length();i++){

            for(int j = 0; j<chars.length();j++){
                if(x.charAt(i)==chars.charAt(j)){
                    index = i;//**
                }else {
                    index = -1;
                }
            }
        }
        System.out.println(index);
        return index;
    }

要重新说明,问题是在**它将到达字符串x的最后一个字符,并比较字符串中的字符是否相同并返回-1,但我希望代码结束并返回字符串x的索引在字符串x中字符串字符中最后一次出现任何字符后的i。

所以输出应该是4.因为反向字符串中b的索引(字符串字符的字符之一)是4,这就是我想要的。

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

您可以使用StringUtils类来阻止迭代循环。 Here are the indexOf methods present.                      OR

You can use String.indexOf method which is present under string class.