DT7*_*DT7 5 java xls exception delimiter indexoutofboundsexception
我必须输入一个输入文件,并在其末尾添加一个数字作为输出文件.为此,我使用以下代码:
String delimiter = ".";
String[] splitInput = inputLocation.split(delimiter);
String outputLocation = splitInput[0];
Run Code Online (Sandbox Code Playgroud)
我得到以下异常:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
Run Code Online (Sandbox Code Playgroud)
我添加了以下语句来检查splitInput数组的长度,并得到0作为输出.
System.out.println(splitInput.length);
Run Code Online (Sandbox Code Playgroud)
后来,我使用".x"作为分隔符(我的文件是.xls).我可以使用".x"来实现我的目的,但我很好奇为什么不会"." 工作?
ug_*_*ug_ 11
该split函数使用正则表达式,你必须逃避你的"." 用"\"
使用正则表达式时"." 意味着任何角色.试试这个
String delimiter = "\\.x";
Run Code Online (Sandbox Code Playgroud)
还应该提到的是\,java中也是一个用于创建其他特殊字符的特殊字符.所以你必须逃避你\与另一个\因此 "\\.x"
Java文档中有关于所有特殊字符及其功能的一些很好的文档:
Java 8 Docs
Java 7 Docs
Java 6 Docs