整理Java編程中字串的常用操作方法_java

來源:互聯網
上載者:User

字元
一般情況下,當我們處理字元時,我們用未經處理資料類型 char。

樣本

char ch = 'a';// Unicode for uppercase Greek omega characterchar uniChar = '\u039A'; // an array of charschar[] charArray ={ 'a', 'b', 'c', 'd', 'e' };

然而在開發中,我們會遇到需要使用對象而不是未經處理資料類型的情況。為了達到這個需求。Java 為未經處理資料類型 char 提供了封裝類 Character。

Character 類為操控字元提供了一系列有用處的類(例如:靜態類)。你可以藉助 Character 建構函式創造一個 Character 對象。

Character ch = new Character('a');

Java 編譯器也將能在某些情況下為你創造一個 Character 對象。例如:如果你將一個原始 char 傳輸到一個可預期對象的方法,編譯器就會為你自動將 char 轉化成 Character。 如果轉換從反方向進行,這個特點被稱之為自動裝箱或拆箱。

樣本

// Here following primitive char 'a'// is boxed into the Character object chCharacter ch = 'a';// Here primitive 'x' is boxed for method test,// return is unboxed to char 'c'char c = test('x');

逸出序列
有反斜線(\)在前的字元是一個逸出序列並且對於編譯器有特殊的意義。

分行符號(\n)在 System.out.println() 語句中經常使用,在字串列印出來後換行。

以下的表格展示了 Java 逸出序列:

逸出序列 描述
\t 在文本中插入一個標籤。
\b 在文本中插入一個退格。
\n 在文本中插入一個分行符號。
\r 在文本中插入一個斷行符號。
\f 在文本中插入一個換頁。
\' 在文本中插入一個單引號字元。
\\ 在文本中插入一個反斜線字元。

當一個逸出序列遇到一個列印語句,編譯器就會相應地解譯。

樣本

如果你想把引號放入引號內,必須使用逸出序列, \” ,在內部引用:

public class Test { public static void main(String args[]) {  System.out.println("She said \"Hello!\" to me."); }}

這將產生以下結果:

She said "Hello!" to me.
Character 方法
以下列表是實現 Character 類所有子類的重要的執行個體方法:

SN 方法描述
1 isLetter()
確定具體的char值是一個字母
2 isDigit()
確定具體的char值是一個數字
3 isWhitespace()
確定具體的char值是一個空格
4 isUpperCase()
確定具體的char值是一個大寫字母
5 isLowerCase()
確定具體的char值是一個小寫字母
6 toUpperCase()
返回指定字元值的大寫形式
7 toLowerCase()
返回指定字元值的小寫寫形式
8 toString()
返回代表指定的字元值的一個String對象,即一個字元的字串


字串
字串,它被廣泛應用於 Java 編程,是一個字元序列。在 Java 程式設計語言中,字串是對象。

Java 平台提供了 String 類來建立和操作字串。

建立字串
最直接的方式來建立一個字串是這樣寫的:

String greeting = "Hello world!";
當你建立一個字串時,編譯器在這種情況下用它的值建立一個 String 對象,如:"Hello world!'。

任何其他對象可以通過使用 new 關鍵字,並通過建構函式建立 String 對象。 String 類有11種建構函式提供使用不同類型的字串的初始值,如一個字元數組。

public class StringDemo{ public static void main(String args[]){  char[] helloArray = { 'h', 'e', 'l', 'l', 'o', '.'};  String helloString = new String(helloArray);   System.out.println( helloString ); }}

這將產生以下結果:

hello.

注 String 類是不可變的,因此,一旦建立了 String 對象那麼是不能改變的。如果需要大量修改字元的字串,那麼應該使用 StringBuffer & StringBuilder 類。

String 長度
用於擷取有關對象的資訊的方法稱為存取方法。可以和字串一起使用的一個存取方法是 length() ,它返回包含在字串對象中的字元數。

下面的兩行代碼被執行之後,len 等於17:

public class StringDemo { public static void main(String args[]) {  String palindrome = "Dot saw I was Tod";  int len = palindrome.length();  System.out.println( "String Length is : " + len ); }}

這將產生以下結果:

String Length is : 17

連接字串
String類包括用於串連兩個字串的方法:

string1.concat(string2);

這返回一個新的字串,即在 string1 結尾處添加 string2。還可以使用 concat()方法連接字串,如:

"My name is ".concat("Zara");

字串更常使用 “ + ” 運算子串連在一起,如:

"Hello," + " world" + "!"

這將產生:

"Hello, world!"

看看下面的例子:

public class StringDemo { public static void main(String args[]) {  String string1 = "saw I was ";  System.out.println("Dot " + string1 + "Tod"); }}

這將產生以下結果:

Dot saw I was Tod

建立格式化字串
已經有 printf() 和 format() 方法來列印輸出格式的數字。 String 類有一個等價的方法 format(),它返回一個 String 對象,而不是一個 PrintStream 對象。

使用字串的靜態 format() 方法允許建立可重複使用的格式化字串,而不是一次性的 print 語句。例如,如果代替以下方法:

System.out.printf("The value of the float variable is " +     "%f, while the value of the integer " +     "variable is %d, and the string " +     "is %s", floatVar, intVar, stringVar);

可以這樣寫:

String fs;fs = String.format("The value of the float variable is " +     "%f, while the value of the integer " +     "variable is %d, and the string " +     "is %s", floatVar, intVar, stringVar);System.out.println(fs);

String 方法
這裡是由 String 類支援的方法列表:

SN 方法及描述
1 char charAt(int index)
返回指定索引處的字元。
2 int compareTo(Object o)
將這個字串與另一個對象比較。
3 int compareTo(String anotherString)
比較兩個字串的字典順序。
4 int compareToIgnoreCase(String str)
比較兩個字串按字典順序,不區分大小寫差異。
5 String concat(String str)
將指定的字串串聯到這個字串的結尾。
6 boolean contentEquals(StringBuffer sb)
返回true若且唯若該字串代表相同的字元序列作為指定的StringBuffer。
7 static String copyValueOf(char[] data)
返回表示所指定的數組中的字元序列的字串。
8 static String copyValueOf(char[] data, int offset, int count)
返回表示所指定的數組中的字元序列的字串。
9 boolean endsWith(String suffix)
測試此字串是否以指定的尾碼結束。
10 boolean equals(Object anObject)
比較此字串與指定的對象。
11 boolean equalsIgnoreCase(String anotherString)
比較這個字串到另一個字串,忽略大小寫考慮。
12 byte getBytes()
將此String解碼使用平台的預設字元集,並將結果儲存到一個新的位元組數組中的位元組序列。
13 byte[] getBytes(String charsetName
將此String解碼使用指定的字元集的位元組序列,並將結果儲存到一個新的位元組數組。
14 void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
從這個字串複製字元到目標字元數組。
15 int hashCode()
為這個字串返回一個雜湊碼。
16 int indexOf(int ch)
返回此字串指定字元第一次出現處的索引。
17 int indexOf(int ch, int fromIndex)
返回索引這個字串中指定字元第一次出現處,指定索引處開始搜尋。
18 int indexOf(String str)
返回此字串指定子字串的第一次出現處的索引。
19 int indexOf(String str,int fromIndex)
返回這個字串中指定子字串的第一次出現處的索引,從指定的索引處開始。
20 String intern()
返回字串對象的正常化表示。
21 int lastIndexOf(int ch)
返回此字串指定字元最後一次出現處的索引。
22 int lastIndexOf(int ch, int fromIndex)
返回此字串指定字元最後一次出現處的索引,從指定索引開始向後搜尋。
23 int lastIndexOf(String str)
返回此字串指定子字串的最右邊出現處的索引。
24 int lastIndexOf(String str, int fromIndex)
返回索引這個字串中指定子字串的最後出現處,從指定的索引開始處向後搜尋。
25 int length()
返回此字串的長度。
26 boolean matches(String regex)
判斷此字串是否與給定的Regex匹配。
27 boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)
測試兩個字串的地區等於。
28 boolean regionMatches(int toffset, String other, int ooffset, int len)
測試兩個字串的地區都是相等的。
29 String replace(char oldChar, char newChar)
返回從newChar更換oldChar所有出現在此字串中產生一個新的字串。
30 String replaceAll(String regex, String replacement
替換此字串中給定的Regex與給定替換相匹配的每個子字串。
31 String replaceFirst(String regex, String replacement)
替換此字串匹配給定的Regex給定替換第一個子字串。
32 String[] split(String regex)
分割圍繞給定的Regex匹配的這個字串。
33 String[] split(String regex, int limit)
分割圍繞給定的Regex匹配的這個字串。
34 boolean startsWith(String prefix)
測試此字串是否以指定的首碼開頭。
35 boolean startsWith(String prefix, int toffset)
測試此字串是否以指定索引開始的指定首碼開始。
36 CharSequence subSequence(int beginIndex, int endIndex)
返回一個新的字元序列,這個序列的子序列。
37 String substring(int beginIndex)
返回一個新的字串,它是此字串的一個子字串。
38 String substring(int beginIndex, int endIndex)
返回一個新的字串,它是此字串的一個子字串。
39 char[] toCharArray()
這個字串轉換為一個新的字元數組。
40 String toLowerCase()
將所有在此字串中的字元使用預設語言環境的規則小寫。
41 String toLowerCase(Locale locale)
將所有在此字串中的字元使用給定Locale的規則小寫。
42 String toString()
這個對象(它已經是一個字串!)返回字串形式(這裡是自己本身)。
43 String toUpperCase()
使用預設語言環境的規則將此String中所有的字元轉換為大寫。
44 String toUpperCase(Locale locale)
使用給定Locale的規則將此String中所有的字元轉換為大寫。
45 String trim()
返回字串的一個副本,開頭和結尾的空格去除。
46 static String valueOf(primitive data type x)
返回傳遞的資料類型參數的字串表示形式。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.