Java String字串處理和字元處理
阿新 • • 發佈:2019-01-22
字串類Sring
字串時由字元構成的一個序列,在JAVA中,字串是一個物件; 1、字串的構造 1)從字串直接量建立一個字串 String 字串名 = new String(字串直接量); 如:String str = new String(”welcome to java“); 2)將字串直接量看成String物件 String str = ”welcome to java“; 3)用字元陣列建立一個字串 char[] chars = {'G','O','O','D' }; String str = new String (chars); 2、不可變字串 和 限定字串java.lang.String | |
+equals (s1:String): boolean
+equalsIgnoreCase (s1:String ): boolean
+compareTo (s1:String): int
+compareToIgnoreCase |
○如果這個字串等於字串s1,則返true; ○ 同上,不過忽略大小寫; ○ 返回一個大於0,等於0、小於0的整數,表明這個字元是大於、等於、或小於s1; ○ 同上,不過忽略大小寫 ○ 如果這個字串指定的子域精確匹配 ○ 同上,不過忽略大小寫; ○如果這個字串以指定字首開始,返回true; ○如果這個字串以指定字尾開始,返回true; |
java.lang.String | |
+length ( ):int +charAt (index:int ):char +conat (s1:String) :String |
○返回這個字串的字元個數; ○返回這個字串的指定下標處的字元; ○返回連線這個字串和s1 所構成的新字串; |
java.lang.String | |
+substring (beginIndex: int) : Sring +substring (beginIndex: int, endIndex: int) : String |
○返回這個字串中以指定beginIndex開始, 並延續到結尾(或endIndex)的字串; |
java.lang.String | |
+toLowerCase( ) :String +toUpperCase( ) :String +trim ( ) :String +split ( delimiter :String):String[ ] +replace (oldChar:char, newChar:char) :String +replaceFirst (oldString:String, newString:String) :String +replaceAll (oldString:String, newString:String) :String |
○返回鍵所有字元轉化為小寫的新字串; ○返回鍵所有字元轉化為大寫的新字串; ○返回去掉兩端的空白字元之後的新字串; ○返回用定界符分隔的字串 所構成的一個字串陣列; ○用一個新字元代替該字串所有匹配的舊字串; ○用一個新字串替換第一個匹配的字串; ○用一個新字串替換所有匹配的字串; |
java.lang.String | |
+indexOf (ch: char): int +indexOf (ch: char , formIndex :int):int +indexOf (s:String) :int +indexOf (s:STring, formIndex:int):int +lastIndex (ch:char):int +lastIndex (ch:char , formIndex: int ):int +lastIndex (s:String):int +lastIndex (s:String , formIndex: int ):int |
○返回第1次出現ch的下標,如果不匹配返回-1; ○返回字串formIndex之後第1次出現ch的下標; ○返回第1次出現s的下標,如果不匹配返回-1; ○返回最後1次出現ch的下標,如果不匹配返回-1; ○返回字串自formIndex最後1次出現ch的下標; ○返回最後1次出現s的下標,如果不匹配返回-1; |
8、字串和陣列之間的轉換 1)字串 → 字元陣列 ①toCharArray方法 如:char[] chars = "java".toCharArray(); // 獲取 chars[] = {'j','a','v','a'}; ②getChars (int srcBegin,int scrEnd ,char[] dst, int dstBegin) 將下標從scrBesign到scrEnd-1的字串複製 到字元陣列dst中 下標從dstBegin開始的地方; 如: char[] dst = {'j','a','v','a'}; "CS2340".getChars(1,4,dst[],1) // dst[] = {'j','a', 'S','2','3','4', 'v','a'}; 2)字元陣列 → 字串 構造方法String(char[ ]) 或 方法valueOf(char[ ]) 如:String str = new String ( char[ ] {'j','a','v','a'} ); 或 String str = String.valueOf ( char[ ] {'j','a','v','a'} ); 9、將字元和數值轉換為字串
java.lang.String | |
+valueOf (c:char):String +valueOf (data:char[ ]):String +valueOf (d:double):String +valueOf (f:float):String +valueOf (i:int):String +valueOf (b:boolean):String |
○返回包含字元c的字串; ○返回包含陣列中字元的字串; ○返回表示double值的字串; |
Character類中大多數方法都是靜態方法; 使用時,應先構建物件;Character char = new Character();
java.lang.Character | |
+Character (value :char) +charValue () : char |
○使用char值構建一個字元物件; ○從這個物件返回char值; |
+compareTo (anotherCharacter : Char) :int +equals(anotherCharacter : Char): boolean |
○將這個字元與其他字元比較; ○如果這個字元等於另一個字元返回true; |
+isDigit (ch : char ) : boolean +isLetter(ch:char) : boolean +isLetterOrDigit(ch:char) : boolean +isLowerCase(ch:char) : boolean +isUpperCase(ch:char) : boolean |
○如果指定字元是一個數字,返回true; ○如果指定字元是一個字元,返回true; ○如果指定字元是一個數字或字母; ○如果指定字元是一個小寫字母; ○如果指定字元是一個大寫字母; |
+toLowerCase(ch:char) : char +toUpperCase(ch: char) : char |
○返回指定字母的小寫; ○返回指定字母的大寫; |
9.3 StringBuilder / StringBuffer 類
1、String類一旦確立,它的值就確定了,但是可以給一個StringBuilder或StringBuffer類新增、插入、追加新的內容; 1) 如果是多工併發訪問,使用StringBuffer類; 2)如果是單任務訪問,使用StringBuilder類;
java.lang.StringBuilder | |
+StringBuilder +StringBuilder (capacity : int) +StringBuilder (s:String) |
○構建一個容量為16的字元生成器; ○構建一個指定容量的字元生成器; ○構建一個帶指定字串的字元生成器; |
java.lang.StringBuilder | |
+append (data : char[]) :StringBuilder +append (data:char[] , offset: int , len: int ):StringBuilder +append ( v: aPrimitiveType) :StringBuilder +append ( s: String) : StringBuilder +delete(stractIndex: int ,endIndex:int): StringBuilder +deleteCharAt (index :int) : Stringbuilder +insert (index: int, data: char[] , offset: int , len: int):Stringbuilder +insert (offset: int , data: char[]): Stringbuilder +insert (offset: int , v: aPrimitiveType) :Stringbuilder +insert (offset: int ,s:String) :Stringbuilder +replace (startIndex: int , endIndex: int , s: String):Stringbuilder +reverse () :StringBuilder +setCharAt (index: int, ch :char) : void |
○追加一個char型陣列; ○追加data中的子陣列; ○追加一個基本型值; ○追加一個字串; ○刪除stractIndex到endIndex-1的字元; ○刪除指定下標的字元; ○在指定下標處,插入陣列中資料子陣列; ○在指定下標處,插入陣列; ○在指定下標處,插入轉換成字串的值; ○在指定下標處,插入字串; ○使用特定字元,替換字元生成器中stractIndex 到endIndex - 1 的字元; ○顛倒生成器中的字元; ○在生成器特定下標處設定一個新字元; |
3、StringBuffer中處理字元生成器的方法
java.lang.StringBuilder | |
+toString () : String +capacity : int +charAt (index: int) :char +length () :int +setLength (newlength :int) : void +subString (stractIndex: int): String +subString (stractIndex: int, endIndex:int): String +trimToSize () :void |
○重字元生成器返回以字串物件; ○返回這個字串生成器的容量; ○返回指定下標處的字元; ○返回這個生成器中字元的個數; ○在這個生成器中設定新的長度; ○返回從stractIndex開始的字串; ○返回stract到end-1 的字串; ○減少字串生成所用的儲存大小; |