如何在java中使用'^'这个特殊字符拆分字符串?

时间:2011-12-18 11:43:17

标签: java

我想拆分以下字符串“Good ^ Evening”我使用拆分选项它不拆分值。请帮我。

这就是我一直在尝试的:

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

3 个答案:

答案 0 :(得分:31)

我假设你做了类似的事情:

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

这不起作用,因为split的参数实际上是regular expression,其中^具有特殊含义。试试这个:

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

\\实际上等同于单个\(第一个\是字符串文字中的Java转义序列所必需的)。它是正则表达式中的一个特殊字符,意思是“按字面意思使用下一个字符,不要解释它的特殊含义”。

答案 1 :(得分:7)

您应该使用的正则表达式是“\ ^”,您将其写为"\\^"作为Java字符串文字;即。

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

正则表达式需要'\'转义,因为插入符号('^')是正则表达式语言中的元字符。第二个'\'转义是必需的,因为'\'是字符串文字中的转义。

答案 2 :(得分:0)

试试这个

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