用java拆分字符串不起作用

Roy*_*ley 0 java regex string split

我在java中有一个字符串,如下所示:

holdingco^(218) 333-4444^scott@holdingco.com
Run Code Online (Sandbox Code Playgroud)

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

String value = "holdingco^(218) 333-4444^scott@holdingco.com";
Run Code Online (Sandbox Code Playgroud)

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

String[] components = value.split("^");
Run Code Online (Sandbox Code Playgroud)

但是它没有拆分字符串.我试图逃避胡萝卜分隔符无济于事.

jlo*_*rdo 8

使用

String[] components = value.split("\\^");
Run Code Online (Sandbox Code Playgroud)

未转义^表示在正则表达式中开始字符串,未转义$表示结束.您必须使用两个反斜杠进行转义,因为字符串文字"\\"表示单个反斜杠,这正是正则表达式所需要的.

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