java String.split 无法使用小数点分割的问题

网友投稿 396 2022-08-30


java String.split 无法使用小数点分割的问题

目录String.split 无法使用小数点分割解决方法String.split()方法的注意点(转义符)1.字符串中存在.和|的时候2.如果在一个字符串中有多个分隔符

String.split 无法使用小数点分割

当我分割文件名的时候,想使用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

String.split()方法的注意点(转义符)

java.lang包中的String.split()方法

1.字符串中存在.和|的时候

不能直接用String.split(".")进行分隔,而是String.split("\\ .")或者String.split("\\ |");

因为直接写的话系统是无法识别的,需要通过转义符

用竖 * 分隔字符串运行将抛出java.util.regex.PatternSyntaxException异常,用加号 + 也是如此。

同时 \ 也是如此,在运用一定要用上转义符 ----  \\

具体可以查询jdk1.6或者1.8中的java.lang包中的String.split(String regex)方法中的规则表达式

2.如果在一个字符串中有多个分隔符

可以用“|”作为连字符,比如:“acount=? and uu =? or n=?”,把三个都分隔出来,可以用

String.split("and | or");使用String.split方法分隔字符串时,分隔符如果用到一些特殊字符,可能会得不到我们预期的结果。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:微服务网关选型:5种主流 API 网关,哪个最香,api网关设计原则
下一篇:API接口监控产品全新改版,免费开放全部功能,API监控管理系统
相关文章

 发表评论

暂时没有评论,来抢沙发吧~