Java String indexOf()

indexOf() 方法有以下四种形式:

  • public int indexOf(int ch): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
  • public int indexOf(int ch, int fromIndex): 返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
  • int indexOf(String str): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
  • int indexOf(String str, int fromIndex): 返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。

1 语法

public int indexOf(int ch )

或

public int indexOf(int ch, int fromIndex)

或

int indexOf(String str)

或

int indexOf(String str, int fromIndex)

2 参数

ch : 字符,Unicode 编码。
fromIndex :开始搜索的索引位置,第一个字符是 0 ,第二个是 1 ,以此类推。
str :要搜索的子字符串。

3 返回值

查找字符串,或字符 Unicode 编码在字符串出现的位置。

4 indexOf()内部源码

public int indexOf(int ch) {  
        return indexOf(ch, 0);  
}  

5 indexOf()示例

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
/**
 * Java String.indexOf方法的例子
 */
public class Demo{

    public static void main(String args[]){
        String s1="this is index of example";

        int index1=s1.indexOf("is");//返回is的索引
        int index2=s1.indexOf("index");//返回index的索引
        System.out.println(index1+"  "+index2);//2 8

        //使用fromIndex传递子字符串
        int index3=s1.indexOf("is",4);//返回第4个索引之后的is子字符串的索引
        System.out.println(index3);//5

        int index4=s1.indexOf('s');//返回 s 字符串的索引
        System.out.println(index4);//3
    }
}

输出结果为:

2  8
5
3

6 indexOf(String substring)示例

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
/**
 * Java String.indexOf方法的例子
 */
public class Demo {

    public static void main(String[] args) {
        String s1 = "This is indexOf method";

        int index = s1.indexOf("method"); //返回method字符串的索引
        System.out.println("index of substring "+index);
    }

}

输出结果为:

index of substring 16

7 indexOf(String substring, int fromIndex)示例

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
/**
 * Java String.indexOf方法的例子
 */
public class Demo {

    public static void main(String[] args) {
        String s1 = "This is indexOf method";

        int index = s1.indexOf("method", 10); //返回method字符串的索引
        System.out.println("index of substring "+index);
        index = s1.indexOf("method", 20); // 如果没有找到则返回-1
        System.out.println("index of substring "+index);
    }
}

输出结果为:

index of substring 16
index of substring -1

8 indexOf(int char, int fromIndex)示例

indexOf() 方法将char和index作为参数,并返回在给定fromIndex之后出现的第一个字符的索引。

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
/**
 * Java String.indexOf方法的例子
 */
public class Demo {

    public static void main(String[] args) {
        String s1 = "This is indexOf method";

        int index = s1.indexOf('e', 12); //返回e字符的索引
        System.out.println("index of char "+index);
    }
}

输出结果为:

index of char 17

 

热门文章

优秀文章