java split 坑_java String split 踩坑记
split操作是出镜率非常高的一个方法, 但是我们使用中通常会使用两个类提供的split方法, 他们在入参类型一样, 但是效果却有一些差别, 稍不注意容易踩坑.
java.lang.String#split
String提供了两个重载方法:
public String[] split(String regex, int limit)
public String[] split(String regex)
regex参数指定用于分割的正则表达式; limit用于限定分割次数, 小于等于0时表示不限制全部切割.
org.apache.commons.lang.StringUtils#split
StringUtils提供了四个重载方法:
String[] split(String str)
String[] split(String str, char separatorChar)
String[] split(String str, String separatorChars)
String[] split(String str, String separatorChars, int max)
str即待分割的字符串, separatorChar和separatorChars指定分割符, 注意这里是字符串本身而不是正则. max等效于上面的limit用于限定分割次数.
区(有)别(坑)
相邻分隔符的处理不同String#split会把临近的分割符合并处理, 而StringUtils#split不会.
String str = "a,,b";
String[] arr1 = StringUtils.split(str, ",");
System.out.println(Arrays.toString(arr1) + " @ " + arr1.length);
// [a, b] @ 2
String[] arr2 = str.split(",");
System.out.println(Arrays.toString(arr2) + " @ " + arr2.length);
// [a, , b] @ 3
空字符内容的处理不同StringUtils#split会丢掉分割出来的空字符, 而String#split不会.
String str = ",,a,,b,,";
String[] arr1 = StringUtils.split(str, ",");
System.out.println(Arrays.toString(arr1) + " @ " + arr1.length);
// [a, b] @ 2
String[] arr2 = str.split(",");
System.out.println(Arrays.toString(arr2) + " @ " + arr2.length);
// [, , a, , b] @ 5
java split 坑_java String split 踩坑记相关推荐
- java split函数的用法,java拆分字符串_java中split拆分字符串函数用法
摘要 腾兴网为您分享:java中split拆分字符串函数用法,中信期货,掌上电力,星球联盟,淘集集等软件知识,以及韩剧精灵,每日英语听力vip,龙卷风收音机,优衣库,中国平煤神马集团协同办公系统,光晕 ...
- tabbar角标 小程序_【沃行课堂】恭喜你遇到“坑”,小程序踩坑指南
上周我们的开发小哥哥带领我们一起领略了开发中遇到的各种问题,以及基于SaaS模式的平台技术架构及实现.本周我们换个方向,由高级开发工程师秋哥带领大家共同探讨下小程序开发中踩过的坑.秋哥会从公司的几个小 ...
- java split 特殊字符_Java中split()分割字符串时对特殊符号的处理
String类型的对象在用split()方法进行字符分割的时候常常会遇到用特殊字符进行分割的情况.由于split()是用正则实现的分割,所以当遇到一些特殊字符时,就需要使用一些特殊处理.以下是对一些常 ...
- java split 顺序_Java的split方法说明
相信大家都经常使用String 的split方法,但是大家有没有遇到下面的这种情况: 大家想想下面的代码执行结果是什么 public static voidmain(String[] args) {/ ...
- java contains 效率_java String contains逻辑的优化
有一个"AAA,BBB"格式的字符串组成的List,有一个字符串SSS 现在想遍历List,如果字符串SSS中包含了AAA,并且包含了BBB,则返回ture.否则将List全部遍历 ...
- 坑!mongodb安装踩坑坑坑坑!
MongoDB安装踩坑坑坑坑! 鉴于网上有很多手把手的教程,我就不ctrl cv了,主要说一下我参考了哪些教程以及踩的坑 进官网进了半天进不去,爬了个楼梯才上去 进去之后,迅雷没会员根本下 ...
- java竖线分割_Java String类的Split以竖线作为分隔符
版权声明:本文为博主原创文章,转载请写明出处.https://blog.csdn.net/wo541075754/article/details/50668160 问题 Java中String类的Sp ...
- 报错java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.String解决踩坑
java.lang.ClassCaption: java.lang.Long cannot be cast to java.lang.String 问题背景 service传参调用mapper,报错: ...
- java file rename 失败_java File renameTo 踩坑---windows vs linux
Java File renameTo 方法 Windows Linux 下的差异: window : 1 在关闭源文件之前,进行重命名操作,返回 false,重命名失败: 2 目标文件存在时,返回fa ...
最新文章
- Extjs4.2+webAPI+EF实现分页以及webapi的数据传值
- CygWin / 安装软件包的方法
- 《好未来编程题》n个数里最小的k个
- java 冒泡排序的三种写法_冒泡排序的三种实现(Java)
- python字典更改元素_python – 返回带有一个已更改元素的字典
- 关于SQL Server的日期时间数据类型
- ubuntu 给执行文件添加快捷方式
- 迁移应用程序到.NET Framework 4.5:弃用类型与新特性
- 论计算机应用技术对企业信息化的影响
- php自动加载 依赖,php自动加载
- 手把手教你如何建立U盘免疫文件夹
- win10开卓越性能模式方法
- 银河麒麟桌面系统V10解决微信无法登录
- Ubuntu零基础教学-Ubuntu下如何创建.txt记事本文件
- html 调用es2015模块,给大家分别介绍一下CommonJS和ES2015的import
- 【pwnable.kr】 passcode
- VO,DTO,BO,POJO,PO的概念介绍
- 教大家用python画皮卡丘的脸
- 爱好-C语言秘钥产生器
- python动画篮球大小_篮球比赛动画直播数据api接口示例