用java拆分字符串不起作用

时间:2013-04-09 18:33:12

标签: java regex string split

我在java中有一个类似于:

的字符串
holdingco^(218) 333-4444^scott@holdingco.com

我设置一个等于它的字符串变量:

String value = "holdingco^(218) 333-4444^scott@holdingco.com";

然后我想把这个字符串拆分成它的组件:

String[] components = value.split("^");

然而,它没有拆分字符串。我试图逃避胡萝卜分隔符无济于事。

2 个答案:

答案 0 :(得分:8)

使用

String[] components = value.split("\\^");

未转义的^表示正则表达式中字符串的开头,未转义的$表示结束。你必须使用两个反斜杠进行转义,因为字符串文字"\\"代表一个反斜杠,这就是正则表达式所需要的。

如果您尝试使用一个反斜杠进行转义,则它不会编译,因为\^不是Java中的有效转义序列。

答案 1 :(得分:0)

尝试使用:value.split("\\^");这应该会更好一些