字元串
- String類又稱作不可變字元序列
- String e = “” ; // 空字元串
- String greeting = " Hello World ";
- Object類中定義有public String toString()方法,其傳回值是 String 類型
String類常用方法清單
(字元串類型要執行個體化對象後再調用方法)
- 求字元串長度
public int length()//傳回該字元串的長度 String str = new String("asdfzxc"); int strlength = str.length();//strlength = 7
- 求字元串某一位置字元
public char charAt(int index)//傳回字元串中指定位置的字元;注意字元串中第一個字元索引是0,最後一個是length()-1。 String str = new String("asdfzxc"); char ch = str.charAt(4);//ch = z
3.提取子串
用String類的substring方法可以提取字元串中的子串,該方法有兩種常用參數:
- public String substring(int beginIndex)//該方法從beginIndex位置起,從目前字元串中取出剩餘的字元作為一個新的字元串傳回。
- public String substring(int beginIndex, int endIndex)//該方法從beginIndex位置起,從目前字元串中取出到endIndex-1位置的字元作為一個新的字元串傳回。
String str1 = new String("asdfzxc"); String str2 = str1.substring(2);//str2 = "dfzxc" String str3 = str1.substring(2,5);//str3 = "dfz"
4、字元串比較
- public int compareTo(String anotherString)//該方法是對字元串内容按字典順序進行大小比較,通過傳回的整數值指明目前字元串與參數字元串的大小關系。若目前對象比參數大則傳回正整數,反之傳回負整數,相等傳回0。
- public int compareToIgnore(String anotherString)//與compareTo方法相似,但忽略大小寫。
- public boolean equals(Object anotherObject)//比較目前字元串和參數字元串,在兩個字元串相等的時候傳回true,否則傳回false。
- public boolean equalsIgnoreCase(String anotherString)//與equals方法相似,但忽略大小寫。
String str1 = new String("abc"); String str2 = new String("ABC"); int a = str1.compareTo(str2);//a>0 int b = str1.compareTo(str2);//b=0 boolean c = str1.equals(str2);//c=false boolean d = str1.equalsIgnoreCase(str2);//d=true
5、字元串連接配接
public String concat(String str)//将參數中的字元串str連接配接到目前字元串的後面,效果等價于"+"。
String str = “aa”.concat(“bb”).concat(“cc”); 相當于String str = “aa”+“bb”+“cc”;
6、字元串中單個字元查找
- public int indexOf(int ch/String str)//用于查找目前字元串中字元或子串,傳回字元或子串在目前字元串中從左邊起首次出現的位置,若沒有出現則傳回-1。
- public int indexOf(int ch/String str, int fromIndex)//改方法與第一種類似,差別在于該方法從fromIndex位置向後查找。
- public int lastIndexOf(int ch/String str)//該方法與第一種類似,差別在于該方法從字元串的末尾位置向前查找。
- public int lastIndexOf(int ch/String str, int fromIndex)//該方法與第二種方法類似,差別于該方法從fromIndex位置向前查找。
String str = "I am a good student"; int a = str.indexOf('a');//a = 2 int b = str.indexOf("good");//b = 7 int c = str.indexOf("w",2);//c = -1 int d = str.lastIndexOf("a");//d = 5 int e = str.lastIndexOf("a",3);//e = 2
7、字元串中字元的大小寫轉換
- public String toLowerCase()//傳回将目前字元串中所有字元轉換成小寫後的新串
- public String toUpperCase()//傳回将目前字元串中所有字元轉換成大寫後的新串
String str = new String("asDF"); String str1 = str.toLowerCase();//str1 = "asdf" String str2 = str.toUpperCase();//str2 = "ASDF"
8、字元串中字元的替換
- public String replace(char oldChar, char newChar)//用字元newChar替換目前字元串中所有的oldChar字元,并傳回一個新的字元串。
- public String replaceFirst(String regex, String replacement)//該方法用字元replacement的内容替換目前字元串中遇到的第一個和字元串regex相比對的子串,應将新的字元串傳回。
- public String replaceAll(String regex, String replacement)//該方法用字元replacement的内容替換目前字元串中遇到的所有和字元串regex相比對的子串,應将新的字元串傳回。
String str = "asdzxcasd"; String str1 = str.replace('a','g');//str1 = "gsdzxcgsd" String str2 = str.replace("asd","fgh");//str2 = "fghzxcfgh" String str3 = str.replaceFirst("asd","fgh");//str3 = "fghzxcasd" String str4 = str.replaceAll("asd","fgh");//str4 = "fghzxcfgh"
9、其他類方法
-
String trim()//截去字元串兩端的空格,但對于中間的空格不處理。
String str = " a sd ";
String str1 = str.trim();
int a = str.length();//a = 6
int b = str1.length();//b = 4
2)boolean statWith(String prefix)或boolean endWith(String suffix)//用來比較目前字元串的起始字元或子字元串prefix和終止字元或子字元串suffix是否和目前字元串相同,重載方法中同時還可以指定比較的開始位置offset。
String str = "asdfgh"; boolean a = str.statWith("as");//a = true boolean b = str.endWith("gh");//b = true
3)regionMatches(boolean b, int firstStart, String other, int otherStart, int length)//從目前字元串的firstStart位置開始比較,取長度為length的一個子字元串,other字元串從otherStart位置開始,指定另外一個長度為length的字元串,兩字元串比較,當b為true時字元串不區分大小寫。
4)contains(String str)//判斷參數s是否被包含在字元串中,并傳回一個布爾類型的值。
String str = "student";
str.contains("stu");//true
str.contains("ok");//false
5)String[] split(String str)//将str作為分隔符進行字元串分解,分解後的字字元串在字元串數組中傳回。
String str = "asd!qwe|zxc#";
String[] str1 = str.split("!|#");
//str1[0] = "asd";str1[1] = "qwe";str1[2] = "zxc";