在java學期初期會用到的一些方法
阿新 • • 發佈:2021-01-06
字串查詢
在給定的字串中查詢字元或字串是比較常見的操作。
在String類中提供了indexOf和lastIndexOf方法用於查詢字元或字串,返回值是查詢的字元或字串所在的位置,-1表示沒有找到。這兩方法有多個過載方法。
*int indexOf(int ch):從前往後搜尋字元ch,返回第一次找到的字元ch所在的索引
*int indexO發(int ch,int fromIndex):從指定的位置開始從前往後搜尋字元ch,返回第一次找到的字元ch所在的索引
(同樣可以換為(String str))
*int lastIndexOf(int ch):從後往前搜尋字元ch,返回第一次找到的字元ch所在的索引
示例:
String ns = "There is a string accessing exampla.";
char ch = ns.charAt(16);
//獲得索引位置為16的字元
//輸出結果為:g
int firstChar1 = ns.indexOf('r')
//從前往後搜尋r字元,第一次找到它所在索引:3
int lastChar1 = ns.lastIndexOf('r')
//從後往前搜尋r字元,第一次找到它所在索引:13
int firstStr1 = ns.indexOf('ing')
//從前往後搜尋r字元,第一次找到它所在索引:14
int firstChar2 = ns.indexOf('e',15)
//從索引為15位置開始,從前往後搜尋e字元,第一次找到它所在索引:21
int lastChar1 = ns.lastIndexOf('e',15)
//從索引為15位置開始,從後往前搜尋e字元,第一次找到它所在索引:4
字串的比較
String提供的有如下方法:
-
boolean equals(Object anObject):比較兩字串內容是否相等
-
boolean equalsIgnoreCase(String anotherString):類似equals方法,只是忽略大小寫
比較大小
String提供的有如下方法:
- int compareTO(String anotherString):按字典順序比較兩個字串。兩字串相等,返回值為0;>o;<0
- int compareTOIgnore(String anotherString):忽略大小寫
比較字首和字尾
- boolean endsWith(String suffix):測定此字串是否以制定的字尾結束
- boolean startsWith(String suffix):測定此字串是否以制定的字尾開始
示例:
String s1 = new String("Hello");
String s2 = new String("Hello");
String s3 = new String("HelLO");
System.out.printl("s1.equals(s2):"+(s1.equals(s2)));
//比較兩字串內容是否相等 結果:true
System.out.printl("s1.equalsIgnoreCase(s3):"+(s1.equalsIgnoreCase(s3)));
//忽略大小比較兩字串內容是否相等 結果:true
String s4 = "java";
String s5 = "Swift";
System.out.println("s1.compareTo(s4):"+(s1.compareTo(s4)));
//比較字串的大小
//結果:s1.compareTo(s4):-32 即s1 小於 s4
System.out.println("s1.compareToIgnoreCase(s4):"+(s1.compareToIgnoreCase(s4)));
//忽略大小比較字串的大小
//結果:s1.compareToIgnoreCase(s4):-4 即s1 小於 s4
字串擷取
String 中提供的方法有如下:
-
String substring(int beginIndex):從指定索引 beginIndex開始擷取一直到字串結束的子字串
-
String substring(int beginIndex,int endIndex):從指定索引 beginIndex開始擷取一直到
endIndex-1 處字元
示例:
string substr1 = ns.subtring(28);
//擷取exampla.子字串
string substr1 = ns.subtring(11,17);
//擷取string子字串
//split方法分隔字串
String[] array = ns.split("");
for(String str:array) {
System.out.println(str);
}