Java:String.split()特殊字符处理操作

 更新时间:2020年10月19日 15:24:00   作者:笨拙的先森  
这篇文章主要介绍了Java:String.split()特殊字符处理操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

一:需要特殊处理才能使用split()方法的字符

(1)需要使用"\\"或"[ ]"才能正确使用的字符集:

( ) [ ] { \ ? * + . ^ $ |

(2)栗子:

String str = "a0^33$\\53\6|!?3#6&5/*6~9 MY{.3+-/}*(]6[>=<-(8";
//这里以"("为例
String str_sub1 = str.split("\\(")[0];
String str_sub2 = str.split("[(]")[0];

二:如不处理直接使用可能会出错的情况

(1)"|" 和 "/*" 会把字符串截取成单个字符数组来返回

(2)"^" 和 "$" 则会取整个字符串来返回

三:"\" 的使用

(1) 能取到的字符串一般不会出现单独的 \ 当出现 \\ 可以使用split("\\\\")来解析

补充知识:空字符串在String.split中的坑

当使用String的时候,总是用String!=null && String.length()>0 同时出现用作判断条件,今天就掉这个坑了。

这种条件限制是保证字符串有值并且非空,很多情况下空字符串不是我们想要的结果,会出问题。

比如

String s = ",1,2,3,4,,,,";

s.split(”,“);

则输出:空字符,1,2,3,4。此时第一个空字符很容易被忽略掉, 导致exception.

以上这篇Java:String.split()特殊字符处理操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • tk.mybatis扩展通用接口使用详解

    tk.mybatis扩展通用接口使用详解

    这篇文章主要介绍了tk.mybatis扩展通用接口使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • springboot读取yml文件中的list列表、数组、map集合和对象方法实例

    springboot读取yml文件中的list列表、数组、map集合和对象方法实例

    在平时的yml配置文件中,我们经常使用到配置基本数据类型的字符串,下面这篇文章主要给大家介绍了关于springboot读取yml文件中的list列表、数组、map集合和对象的相关资料,需要的朋友可以参考下
    2023-02-02
  • springboot扫描自定义的servlet和filter代码详解

    springboot扫描自定义的servlet和filter代码详解

    本文是一篇根据作者工作经历总结出来的关于springboot扫描自定义的servlet和filter代码详解的文章,小编觉得非常不错,这里给大家分享下,和朋友们一起学习,进步。
    2017-10-10
  • mybatis Mapper的xml文件中resultType值的使用说明

    mybatis Mapper的xml文件中resultType值的使用说明

    这篇文章主要介绍了mybatis Mapper的xml文件中resultType值的使用说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • Java实现堆算法的使用示例

    Java实现堆算法的使用示例

    本文主要介绍了Java实现堆算法的使用示例,Java中提供了一个Heap类,可以用来实现堆的操作,可以实现如插入、删除、获取最大最小值等,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • java集合迭代器Iterator中的remove陷阱

    java集合迭代器Iterator中的remove陷阱

    这篇文章主要介绍了java集合迭代器Iterator中的remove陷阱,需要的朋友可以参考下
    2016-04-04
  • Java多线程 原子操作类详细

    Java多线程 原子操作类详细

    这篇文章主要介绍了Java多线程中的原子操作类,原子的本意是不能被分割的粒子,而对于一个操作来说,如果它是不可被中断的一个或者一组操作,那么他就是原子操作。显然,原子操作是安全的,因为它不会被打断,需要的朋友可以参考下
    2021-10-10
  • RocketMQ实现随缘分BUG小功能示例详解

    RocketMQ实现随缘分BUG小功能示例详解

    这篇文章主要为大家介绍了RocketMQ实现随缘分BUG小功能示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • ProtoStuff不支持BigDecimal序列化及反序列化详解

    ProtoStuff不支持BigDecimal序列化及反序列化详解

    这篇文章主要为大家介绍了ProtoStuff不支持BigDecimal序列化/反序列化,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • Java创建和填充PDF表单域方法

    Java创建和填充PDF表单域方法

    在本篇文章中小编给大家分享了关于Java创建和填充PDF表单域方法和步骤,有需要的朋友们学习下。
    2019-01-01

最新评论