String lastIndexOf() 方法的语法是以下两者之一:
string.lastIndexOf(int ch, int index)
或者
string.lastIndexOf(string str, int index)
lastIndexOf() 参数
要查找字符的最后出现索引,lastIndexOf() 接受这两个参数:
- ch - 要查找最后一个索引的字符
- index (可选) - 如果传递了
index,则从开始到该索引搜索ch字符
要查找字符串中指定子字符串的最后一个出现索引,lastIndexOf() 接受这两个参数:
- str - 要查找最后一个索引的字符串
- index (可选) - 如果传递了
index,则从开始到该索引搜索str字符串
lastIndexOf() 返回值
- 返回指定字符/字符串最后一次出现的索引
- 如果找不到指定的字符/字符串,则返回 -1。
示例 1:Java String lastIndexOf()
// Java String lastIndexOf() 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.lastIndexOf('J');
System.out.println(result); // 6
// the last occurrence of 'a' is returned
result = str1.lastIndexOf('a');
System.out.println(result); // 9
// character not in the string
result = str1.lastIndexOf('j');
System.out.println(result); // -1
// getting the last occurrence of "ava"
result = str1.lastIndexOf("ava");
System.out.println(result); // 7
// substring not in the string
result = str1.lastIndexOf("java");
System.out.println(result); // -1
}
}
注意: 字符 'a' 在字符串 "Learn Java" 中出现多次。lastIndexOf() 方法返回 'a' 最后一次出现的索引(即 9)。
示例 2:lastIndexOf() 带有 fromIndex 参数
class Main {
public static void main(String[] args) {
String str1 = "Learn Java programming";
int result;
// search from index 0 to 4
// searches the substring "Learn"
result = str1.lastIndexOf('r', 4);
System.out.println(result); // 3
// search from index 0 to 12
// searcheses the substring "Learn Java pr"
result = str1.lastIndexOf('r', 12);
System.out.println(result); // 12
// string length is less than 100
// searches the whole string
result = str1.lastIndexOf('r', 70);
System.out.println(result); // 15
// searches the substring "Learn"
result = str1.lastIndexOf("Java", 4);
System.out.println(result); // -1
}
}
注意事项
- 字符串
"Learn Java programming"中'r'的最后一次出现是在索引 15。但是,str1.lastIndexOf('r', 4)搜索子字符串"Learn"。'r'在"Learn"中的最后一个索引是 3。 str1.lastIndexOf('r', 12)搜索子字符串"Learn Java pr"。'r'在"Learn Java pr"中的最后一个索引是 12。str1.lastIndexOf("Java", 4)搜索子字符串"Learn"。由于"Learn"子字符串中没有"Java",因此结果为 -1。
推荐阅读: Java String indexOf()