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()特殊字符处理操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
java 定时器Timer和TimerTask的使用详解(执行和暂停)
这篇文章主要介绍了java 定时器Timer和TimerTask的使用详解(执行和暂停),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧2023-11-11线程池满Thread pool exhausted排查和解决方案
这篇文章主要介绍了线程池满Thread pool exhausted排查和解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-11-11Spring Cloud Gateway全局异常处理的方法详解
这篇文章主要给大家介绍了关于Spring Cloud Gateway全局异常处理的相关资料,需要的朋友可以参考下2018-10-10基于RecyclerChart的KLine绘制Volume实现详解
这篇文章主要为大家介绍了基于RecyclerChart的KLine绘制Volume实现详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-03-03ApiOperation和ApiParam注解依赖的安装和使用以及注意事项说明
这篇文章主要介绍了ApiOperation和ApiParam注解依赖的安装和使用以及注意事项说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-09-09
最新评论