天天看點

Java字元串及其常用方法字元串

字元串

  • String類又稱作不可變字元序列
  • String e = “” ; // 空字元串
  • String greeting = " Hello World ";
  • Object類中定義有public String toString()方法,其傳回值是 String 類型

String類常用方法清單

(字元串類型要執行個體化對象後再調用方法)

  1. 求字元串長度
    public int length()//傳回該字元串的長度
     	String str = new String("asdfzxc");
     	int strlength = str.length();//strlength = 7
               
  2. 求字元串某一位置字元
    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";