字符串indexOf()
方法的语法
string.indexOf(int ch, int fromIndex)
要么
string.indexOf(String str, int fromIndex)
在这里, 字符串是String
类的对象。
indexOf()参数
为了找到字符的索引, indexOf()
采用以下两个参数:
- ch-要找到其起始索引的字符
- fromIndex (可选)-如果传递了
fromIndex
,则从该索引开始搜索ch
字符
要在字符串找到指定子字符串的索引, indexOf()
采用以下两个参数:
- str-要找到其起始索引的字符串
- fromIndex (可选)-如果传递了
fromIndex
,则从该索引开始搜索str
字符串
indexOf()返回值
- 返回指定字符/ 字符串首次出现的索引
- 如果找不到指定的字符/ 字符串,则返回-1 。
示例1:Java字符串indexOf()
// Java String indexOf() with only one parameter
class Main {
public static void main(String[] args) {
String str1 = "Learn Java";
int result;
// getting index of character 'J'
result = str1.indexOf('J');
System.out.println(result); // 6
// the first occurrence of 'a' is returned
result = str1.indexOf('a');
System.out.println(result); // 2
// character not in the string
result = str1.indexOf('j');
System.out.println(result); // -1
// getting the index of "ava"
result = str1.indexOf("ava");
System.out.println(result); // 7
// substring not in the string
result = str1.indexOf("java");
System.out.println(result); // -1
// index of empty string in the string
result = str1.indexOf("");
System.out.println(result); // 0
}
}
笔记:
- 字符
'a'
在"Learn Java"
字符串出现多次。indexOf()
方法返回首次出现的'a'
(即2)的索引。 - 如果传递了空字符串 ,则
indexOf()
返回0(位于第一个位置。这是因为空字符串是每个子字符串的子集。
示例2:具有fromIndex参数的indexOf()
class Main {
public static void main(String[] args) {
String str1 = "Learn Java programming";
int result;
// getting the index of character 'a'
// search starts at index 4
result = str1.indexOf('a', 4);
System.out.println(result); // 7
// getting the index of "Java"
// search starts at index 8
result = str1.indexOf("Java", 8);
System.out.println(result); // -1
}
}
笔记:
-
"Learn Java programming"
字符串第一次出现'a'
的位置是索引2。但是,当使用str1.indexOf('a', 4)
时,将返回第二个'a'
的索引。这是因为搜索从索引4开始。 -
"Java"
字符串位于"Learn Java programming"
字符串。但是,str1.indexOf("Java", 8)
返回-1(未找到字符串 )。这是因为搜索从索引8开始,并且在"va programming"
没有"Java"
"va programming"
。
推荐阅读: Java字符串lastIndexOf()