Java和字符串拆分

时间:2012-01-28 09:15:12

标签: java

使用函数split拆分此String。这是我的代码:

String data= "data^data";
String[] spli = data.split("^");

当我尝试在spli中只包含一个字符串时。看起来java在拆分时看不到“^”。有谁知道如何用字母“^”分割这个字符串?

修改

求助:P

5 个答案:

答案 0 :(得分:7)

这是因为String.split采用正则表达式,而不是文字字符串。您必须转义^,因为它在正则表达式中具有不同的含义(在字符串的开头处锚定)。因此,拆分实际上将在第一个字符之前完成,从而为您提供完整的字符串。

使用\转义正则表达式元字符,它必须是Java字符串中的\\,所以

data.split("\\^")

应该有用。

答案 1 :(得分:3)

你需要逃避它,因为它需要reg-ex

\\^

答案 2 :(得分:3)

^等特殊字符需要使用\

进行转义

答案 3 :(得分:2)

这不起作用,因为.split()期望它的参数是正则表达式。 “^”在正则表达式中有一个特殊的含义,所以不能按预期工作。为了让它工作,你需要逃避它。使用\\^

答案 4 :(得分:2)

原因是split的参数是regular expression,因此“^”表示行的开头。所以你需要转义为ASCII- ^:使用参数“\\^”。