从java中完全停止分裂

hes*_*han 5 java

可能重复:
Java中的split()方法不适用于点(.)

我是java的新手.我想从"."中拆分一个字符串.(点)并逐个获取这些名称.但是这个程序给出了错误: "Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0" 请帮助我

 String input1 = "van.bus.car";

 System.out.println(input.split(".")[0]+"");

 System.out.println(input.split(".")[1]+"");

 System.out.println(input.split(".")[2]+"");
Run Code Online (Sandbox Code Playgroud)

Roh*_*ain 16

在正则表达式中,Dot(.)是一个匹配的特殊元字符everything.

因为String.split在Regex上工作,所以如果你想匹配一个,你需要用反斜杠转义它dot.

System.out.println(input.split("\\.")[0]+"");
Run Code Online (Sandbox Code Playgroud)

要了解有关Regex的更多信息,请参阅以下网站: -


pb2*_*b2q 6

参数split是一个正则表达式,所以完整的停止/点/ .具有特殊含义:匹配任何字符.要在你的分裂中使用它,你需要逃脱它:

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

这应该为您的输入字符串提供一个长度为3的数组.

有关正则表达式以及哪些字符特殊的更多信息,请参阅Pattern文档.