拆分Java String返回空数组?

Pro*_*mer 7 java split

我有一个像这样的字符串

"myValue"."Folder"."FolderCentury";
Run Code Online (Sandbox Code Playgroud)

我想从点(".")拆分.我正在尝试使用以下代码:

String a = column.replace("\"", "");
String columnArray[] = a.split(".");
Run Code Online (Sandbox Code Playgroud)

但是columnArray空无一人.我在这做错了什么?

我想在这里再添加一个东西,其可能的String数组对象将包含spitted值,如下面提到的只有两个对象而不是三个.

columnArray[0]= "myValue"."Folder";
columnArray[1]= "FolderCentury";
Run Code Online (Sandbox Code Playgroud)

Mar*_*oun 35

请注意,String#split采用正则表达式.

你需要转义特殊字符 .(意思是"任何字符"):

 String columnArray[] = a.split("\\.");
Run Code Online (Sandbox Code Playgroud)

(逃避正则表达式是由\Java 完成的,\写成\\).

你也可以使用Pattern#quote:

返回指定String 的文字模式 String.

String columnArray[] = a.split(Pattern.quote("."));

通过转义正则表达式,您告诉编译器将其.视为字符串 .而不是特殊字符 ..