Java程式查詢字串中特定單詞的最後一個索引
在Java中,字串也是一個物件。它是String類的物件。字串是字元序列。字串中特定單詞的最後一個索引是指該單詞在字串中最後一次出現的索引位置。字串中字元的索引定義或指示其在字串中的位置。位置或索引始終從0開始。在本節中,我們將討論如何實現一個Java程式來查詢字串中特定單詞的最後一個索引。Java中的字串是不可變的,即字串無法被修改。如果我們修改字串,則會建立一個新的物件。
示例
輸入
searchString = "He is the one and only one male person in our team" word = "one"
輸出
The last index is 23
說明 − 在上面的示例中,單詞“one”在searchString中分別出現在索引10和索引23處。由於23是單詞“one”的最後一個索引,因此輸出為23。
輸入
searchString = "Monkey eats banana" word = "eats"
輸出
The last index is 7
說明 − 在上面的示例中,單詞“eats”在searchString中出現在索引7處。由於7是單詞“eats”的最後一個索引,因此輸出為7。
不同的方法
我們將討論在Java中查詢字串中特定單詞的最後一個索引的各種方法
方法1:使用lastIndexOf()方法
在這種方法中,我們將使用Java提供的lastIndexOf()內建方法。String類並查詢字串中特定單詞的最後一個索引。
語法
以下語法指的是該方法的使用
strobj.lastIndexOf(string)
此方法返回作為輸入引數給出的特定字串的最後一個索引。
查詢字串中特定單詞的最後一個索引的步驟
-
宣告並初始化一個字串。
-
初始化我們需要查詢其最後一個索引的字串。
-
使用lastIndexOf()方法查詢給定字串中給定單詞的最後一個索引,並將其儲存在一個變數中。
-
列印變數值以獲取最後一個索引值。
示例
在此示例中,我們初始化一個字串和要搜尋的單詞,並使用lastIndexOf()方法。如果輸入引數字串不存在,則返回-1;否則,如果存在,則返回該字串最後一次出現的索引。
// Java program to find lastIndex of a particular word in string.
import java.util.*;
public class Main {
public static void main(String[] args) {
String str = "He is the one and only one male person in our team";
String word = "one";
int lastindex = str.lastIndexOf(word);
if (lastindex == -1) {
System.out.println("The word not present in string.");
} else {
System.out.println("The last index of the searched word ==> " + word + " is "+ lastindex);
}
}
}
輸出
The last index of the searched word ==> one is 23
方法2:使用indexOf()方法
在這種方法中,我們將使用Java提供的indexOf()內建方法。String類並查詢字串中特定單詞的最後一個索引。
查詢字串中特定單詞的最後一個索引的步驟
-
宣告並初始化一個字串。
-
初始化我們需要查詢其最後一個索引的單詞。
-
使用indexOf()方法查詢單詞在字串中的索引,該方法返回單詞的第一次出現並將其分配給index變數。
-
使用while迴圈,將index分配給lastIndex,並對每個index值,使用indexOf()方法查詢字串中已找到索引位置之後的單詞的新索引,並重複查找,直到index值為-1。
-
列印lastIndex,否則列印-1。
示例
在下面的示例中,我們使用字串初始化兩個變數,並使用indexOf()方法查詢搜尋單詞在字串中的起始索引。找到第一個索引後,使用while迴圈重複此操作,但每次找到新的索引位置時,都需要使用新的索引位置更新indexOf()方法中的start_index引數位置。因此,最後index值變為-1,並且在每個迴圈中,我們將前一個index值儲存在lastIndex中,最後列印lastIndex值。
//java program to find last index of a particular word in a string using indexOf() method
import java.util.*;
public class Main {
public static void main(String[] args) {
String str = "He is the one and only one male person in our team";
String word = "one";
int lastindex = -1;
int index = str.indexOf(word);
while (index != -1) {
lastindex = index;
index = str.indexOf(word, index + 1);
}
if (lastindex == -1) {
System.out.println("The word not present in string.");
} else {
System.out.println("The last index is " + lastindex);
}
}
}
輸出
The last index is 23
方法3:使用regionMatches()方法
在這種方法中,我們將使用Java提供的regionMatches()內建方法。String類並查詢字串中特定單詞的最後一個索引。
語法
public boolean regionMatches(boolean ignoreCase, int toffset, String other, int offset, int len)
引數
-
int offset − 要比較的第一個字串區域的起始索引。
-
String other − 要比較的字串。
-
int offset − 要比較的另一個字串區域的起始索引。
-
int len − 要比較的字元數。
-
Boolean ignoreCase − 指示是否進行不區分大小寫的比較。如果此引數值為“true”,則比較不區分大小寫,否則反之。
如果兩個字串的指定區域匹配,則此方法返回true,否則返回false。
以下示例指的是該方法的使用 −
String str1 = "Hello, world!"; String str2 = "HELLO, WORLD!"; boolean match1 = str1.regionMatches(0, str2, 0, 12, false); // match1 is false boolean match2 = str1.regionMatches(true, 0, str2, 0, 12); // match2 is true
查詢字串中特定單詞的最後一個索引的步驟
-
使用字串初始化變數str
-
使用要搜尋的字串初始化另一個變數word,並將index初始化為-1。
-
使用for迴圈,使用regionMatches()方法查詢索引並列印值。
示例
在此示例中,初始化了兩個帶有字串的變數,並初始化了一個值為-1的lastIndex變數。然後我們從字串的末尾迭代,每次迭代時,我們使用regionMatches()方法檢查字串區域是否與搜尋字串匹配,如果匹配,則該方法返回true,因此我們可以儲存lastIndex值並列印該值。
//Java program to find the last index of a particular word in a string
import java.util.*;
public class Main {
public static void main(String[] args) {
String str = "Monkey eats banana";
String word = "eats";
int index = -1;
for(int i = str.length() - word.length(); i >= 0; i--) {
if(str.regionMatches(i, word, 0, word.length())) {
index = i;
break;
}
}
System.out.println("Last index is " + index);
}
}
輸出
Last index is 7
因此,本文討論了查詢字串中特定單詞的最後一個位置的不同方法。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP