2011-12-18 216 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("[^]+", "");