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。
语法
public int indexOf(int ch ) public int indexOf(int ch, int fromIndex) int indexOf(String str) int indexOf(String str, int fromIndex)
参数
- ch -- 字符,Unicode 编码。
- fromIndex -- 开始搜索的索引位置,第一个字符是 0 ,第二个是 1 ,以此类推。
- str -- 要搜索的子字符串。
返回值
查找字符串,或字符 Unicode 编码在字符串出现的位置:
public class Main { public static void main(String args[]) { String string = "aaa456ac"; //查找指定字符是在字符串中的下标。在则返回所在字符串下标;不在则返回-1. // indexOf(String str); 返回结果:-1,"b"不存在 System.out.println(string.indexOf("b")); // 从第四个字符位置开始往后继续查找,包含当前位置 //indexOf(String str, int fromIndex); 返回结果:6 System.out.println(string.indexOf("a",3)); //(上面的参数是 String 类型,下面的参数是 int 类型)参考数据:a-97,b-98,c-99 // 从头开始查找是否存在指定的字符 System.out.println(string.indexOf(99));// 返回结果:7 System.out.println(string.indexOf('c'));// 返回结果:7 //从fromIndex查找ch,这个是字符型变量,不是字符串,字符a对应的数字就是97。 System.out.println(string.indexOf(97,3));// 返回结果:6 System.out.println(string.indexOf('a',3));// 返回结果:6 } }
输出结果为:
-1 6 7 7 6 6
指定子字符串在字符串中第一次出现处的索引,从指定的索引开始。
public class Test { public static void main(String args[]) { String Str = new String("牛客教程:www.nowcoder.com"); String SubStr1 = new String("nowcoder"); String SubStr2 = new String("com"); System.out.print("查找字符 o 第一次出现的位置 :" ); System.out.println(Str.indexOf( 'o' )); System.out.print("从第14个位置查找字符 o 第一次出现的位置 :" ); System.out.println(Str.indexOf( 'o', 14 )); System.out.print("子字符串 SubStr1 第一次出现的位置:" ); System.out.println( Str.indexOf( SubStr1 )); System.out.print("从第十五个位置开始搜索子字符串 SubStr1 第一次出现的位置 :" ); System.out.println( Str.indexOf( SubStr1, 15 )); System.out.print("子字符串 SubStr2 第一次出现的位置 :" ); System.out.println(Str.indexOf( SubStr2 )); } }
以上程序执行结果为:
查找字符 o 第一次出现的位置 :10 从第14个位置查找字符 o 第一次出现的位置 :19 子字符串 SubStr1 第一次出现的位置:9 从第十五个位置开始搜索子字符串 SubStr1 第一次出现的位置 :-1 子字符串 SubStr2 第一次出现的位置 :18