比較字串和字串的部分
String
類有許多用於比較字串和字串部分的方法,下表列出了這些方法。
方法 | 描述 |
---|---|
boolean endsWith(String suffix) boolean startsWith(String prefix)
|
如果此字串以指定為方法的引數的子字串結束或以其開頭,則返回true 。 |
boolean startsWith(String prefix, int offset) |
考慮從索引偏移量開始的字串,如果它以指定為引數的子字串開頭,則返回true 。 |
int compareTo(String anotherString) |
按字典順序比較兩個字串; 返回一個整數,指示此字串是否大於(結果 > 0),等於(結果 = 0)或小於(結果 < 0)引數。 |
int compareToIgnoreCase(String str) |
按字典順序比較兩個字串,忽略大小寫的差異; 返回一個整數,指示此字串是否大於(結果 > 0),等於(結果 = 0)或小於(結果 < 0)引數。 |
boolean equals(Object anObject) |
當且僅當引數是String 物件時才返回true ,該String 物件表示與此物件相同的字元序列。 |
boolean equalsIgnoreCase(String anotherString) |
當且僅當引數是String 物件時才返回true ,該物件表示與此物件相同的字元序列,忽略大小寫的差異。 |
boolean regionMatches(int toffset, String other, int ooffset, int len) |
測試此字串的指定區域是否與String 引數的指定區域匹配。區域的長度為 len ,從此字串的索引toffset 開始,另一個字串的ooffset 開始。 |
boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) |
測試此字串的指定區域是否與String引數的指定區域匹配。 區域的長度為 len ,從此字串的索引toffset 開始,另一個字串的ooffset 開始。boolean 引數指示是否應忽略大小寫;如果為true ,則在比較字元時忽略大小寫。 |
boolean matches(String regex) |
測試此字串是否與指定的正規表示式匹配,正規表示式在標題為“正規表示式”的課程中討論。 |
以下程式RegionMatchesDemo
使用regionMatches
方法在另一個字串中搜尋字串:
public class RegionMatchesDemo {
public static void main(String[] args) {
String searchMe = "Green Eggs and Ham";
String findMe = "Eggs";
int searchMeLength = searchMe.length();
int findMeLength = findMe.length();
boolean foundIt = false;
for (int i = 0;
i <= (searchMeLength - findMeLength);
i++) {
if (searchMe.regionMatches(i, findMe, 0, findMeLength)) {
foundIt = true;
System.out.println(searchMe.substring(i, i + findMeLength));
break;
}
}
if (!foundIt)
System.out.println("No match found.");
}
}
這個程式的輸出是Eggs
。
程式逐步遍歷searchMe
引用的字串,對於每個字元,程式呼叫regionMatches
方法以確定以當前字元開頭的子字串是否與程式正在查詢的字串匹配。