2011-12-18 106 views
9

我想分割下面的字符串「Good^Evening」我使用拆分選項它不會拆分值。請幫幫我。如何在java中使用'^'這個特殊字符來分割字符串?

這是我一直想:

String Val = "Good^Evening"; 
String[] valArray = Val.Split("^"); 
+1

請告訴我們,沒有工作的代碼。 – 2011-12-18 11:44:29

+0

String Val =「Good^Evening」; String [] valArray = Val.Split(「^」); – 2011-12-18 11:46:01

+0

@ManoharKulanthaivel謝謝,但請編輯你的問題,因此很容易引用。 – Bryan 2011-12-18 11:47:56

回答

30

我假設你不喜歡的東西:

String[] parts = str.split("^"); 

這並不工作,因爲參數split實際上是一個regular expression,其中^有着特殊的意義。試試這個:

String[] parts = str.split("\\^"); 

\\是真的等同於一個單一的\(第一\被要求在字符串字面量在Java轉義序列)。它是正則表達式中的一個特殊字符,意思是「直接使用下一個字符,不要解釋它的特殊含義」。

7

你應該用的是「\ ^」你寫的"\\^"以Java String的字面正則表達式;即

String[] parts = "Good^Evening".split("\\^"); 

正則表達式需要一個「\」逃逸,因爲脫字符(「^」)是一種元字符正則表達式語言。第二個'\'轉義是需要的,因爲'\'是字符串文字中的轉義。

0

試試這個

String str = "Good^Evening"; 
String newStr = str.replaceAll("[^]+", "");