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

 更新时间:2022年02月08日 14:15:58   作者:红烧鲈鱼  
这篇文章主要介绍了java String.split 无法使用小数点分割的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

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方法分隔字符串时,分隔符如果用到一些特殊字符,可能会得不到我们预期的结果。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Apache CXF如何把wsdl生成java代码

    Apache CXF如何把wsdl生成java代码

    这篇文章主要介绍了Apache CXF如何把wsdl生成java代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • mybatis-plus拦截器、字段填充器、类型处理器、表名替换、SqlInjector(联合主键处理)

    mybatis-plus拦截器、字段填充器、类型处理器、表名替换、SqlInjector(联合主键处理)

    本文主要介绍了mybatis-plus拦截器、字段填充器、类型处理器、表名替换、SqlInjector(联合主键处理),文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • 如何在Spring Boot中使用MQTT

    如何在Spring Boot中使用MQTT

    这篇文章主要介绍了如何在Spring Boot中使用MQTT,帮助大家更好的理解和学习使用Spring Boot,感兴趣的朋友可以了解下
    2021-04-04
  • Java 将list集合数据按照时间字段排序的方法

    Java 将list集合数据按照时间字段排序的方法

    这篇文章主要介绍了Java 将list集合数据按照时间字段排序,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • Java中ArrayList的removeAll方法详解

    Java中ArrayList的removeAll方法详解

    这篇文章主要给大家介绍了关于Java中ArrayList的removeAll方法的相关资料,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编一起来看看吧。
    2017-07-07
  • 在springboot中如何使用filter设置要排除的URL

    在springboot中如何使用filter设置要排除的URL

    这篇文章主要介绍了在springboot中如何使用filter设置要排除的URL,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • Spring配置文件解析之BeanDefinitionReader详解

    Spring配置文件解析之BeanDefinitionReader详解

    这篇文章主要介绍了Spring配置文件解析之BeanDefinitionReader详解,ApplicationContext.xml配置文件解析成Document对象,真正对xml中元素解析的类是在BeanDefinitionDocumentReader的实现类中来完成的,需要的朋友可以参考下
    2024-02-02
  • 基于Java事件监听编写一个中秋猜灯谜小游戏

    基于Java事件监听编写一个中秋猜灯谜小游戏

    众所周知,JavaSwing是Java中关于窗口开发的一个工具包,可以开发一些窗口程序,然后由于工具包的一些限制,导致Java在窗口开发商并没有太多优势,不过,在JavaSwing中关于事件的监听机制是我们需要重点掌握的内容,本文将基于Java事件监听编写一个中秋猜灯谜小游戏
    2023-09-09
  • Java synchronized关键字性能考量及优化探索

    Java synchronized关键字性能考量及优化探索

    这篇文章主要为大家介绍了Java synchronized关键字性能考量及优化探索示例分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • Spring Boot超大文件上传实现秒传功能

    Spring Boot超大文件上传实现秒传功能

    这篇文章主要介绍了Spring Boot超大文件上传实现秒传功能,在实现分片上传的过程,需要前端和后端配合,比如前后端的上传块号的文件大小,前后端必须得要一致,否则上传就会有问题,需要的朋友可以参考下
    2022-12-12

最新评论