时间:2023-03-01 15:11:07 | 栏目: | 点击:次
当我分割文件名的时候,想使用split来进行分割,由于文件名使用的是".",当我使用此分割时候数组返回无效
当然也可以使用indexof+length的方式来截取
连续使用"\\."对小数点进行转义即可
因此我去eclipse测试了下
public class HelloWorld { public static void main(String[] args) { String sTemp = "test.xls"; String[] sTempArray = sTemp.split("."); System.out.print(sTempArray[0]); return; } }
当我运行上面的代码的时候发现报错
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at HelloWorld.main(HelloWorld.java:5)
其实是小数点需要转义的
public class HelloWorld { public static void main(String[] args) { String sTemp = "test.xls"; String[] sTempArray = sTemp.split("."); System.out.print(sTempArray[0]); return; } }
运行结果如下
test
java.lang包中的String.split()方法
不能直接用String.split(".")进行分隔,而是String.split("\\ .")或者String.split("\\ |");
因为直接写的话系统是无法识别的,需要通过转义符
用竖 * 分隔字符串运行将抛出java.util.regex.PatternSyntaxException异常,用加号 + 也是如此。
同时 \ 也是如此,在运用一定要用上转义符 ---- \\
具体可以查询jdk1.6或者1.8中的java.lang包中的String.split(String regex)方法中的规则表达式
可以用“|”作为连字符,比如:“acount=? and uu =? or n=?”,把三个都分隔出来,可以用
String.split("and | or");使用String.split方法分隔字符串时,分隔符如果用到一些特殊字符,可能会得不到我们预期的结果。