如何在java中拆分字符串\

Dip*_*dhi 0 java

我有问题在java中拆分字符串.它给了 java.util.regex.Pattern.error.

 String name = One\Two\Three.
 String[] str = name.split("\\");
 for(int i =0; i < str.length ; i++)
    System.out.println(str[i]);
Run Code Online (Sandbox Code Playgroud)

我把另一个\作为逃脱角色但没有工作.

帮我.

Nik*_* B. 7

One\Two\Three 不是有效的字符串文字(您需要引号,您需要转义反斜杠).

String name = "One\\Two\\Three.";
String[] str = name.split("\\\\");
for(int i =0; i < str.length ; i++)
   System.out.println(str[i]);
Run Code Online (Sandbox Code Playgroud)

工作得很好.

说明

String#split期待正则表达式.反斜杠字符在正则表达式中具有特殊含义,因此您需要使用另一个反斜杠来转义它:\\现在因为反斜杠字符在Java字符串文字中也有特殊含义,所以必须再次将它们加倍,从而产生"\\\\".