一 , java split简单用法public class SplitTest {public static void main(String[] args) {//一般分割String a="hello world ni hao";String[] array1=a.split(" ");System.out.println(array1[0]);System.out.println(array1.length);}------------输出-------hello
4二,字符串末尾分隔符不能识别该方法很常用,也很方便,但是当空格再字符串末尾的时候呢?下面看一下public class SplitTest {public static void main(String[] args) {//一般分割String a="hello world ni hao ";String[] array1=a.split(" ");System.out.println(array1[0]);System.out.println(array1.length);}}---------输出----------hello
4为啥数组长度还是四个呢?这是它的误区之一,请注意此时的split()方法并不会识别末尾的字符,并分割,当要分割的字符串末尾数据为空时,应注意避免使用此方法,后来找到了方法split(" ",-1),如下String a="hello world ni hao ";String[] array1=a.split(" ",-1);System.out.println(array1[0]);System.out.println(array1.length);--------输出----------hello
5三 特殊符号的分割public class SplitTest {public static void main(String[] args) {//特殊分割String a="hello|world|ni|hao";String[] array1=a.split("|");System.out.println(array1[0]);System.out.println(array1.length);}-------输出------------19上面中竖线时特殊符号,应用右双斜杠转译后再分割 ,如下:public class SplitTest {public static void main(String[] args) {//特殊分割String a="hello|world|ni|hao";String[] array1=a.split("\\|");System.out.println(array1[0]);System.out.println(array1.length);}------输出----------------hello
4四 自定义split()方法,java中原生的split方法分割较长字符串时是比较低效的,需要自己重写split()方法,我自己写的分割方法如下(利用indexof),public static String[] newsplit(String strInfo, String strSplit) {//第1步计算数组大小int size  = 0;int index = 0;do{size++;index++;index = strInfo.indexOf(strSplit ,index);}while(index!=-1);String[] arrRtn= new String[size]; //返回数组//-------------------------------------------------------//第2步给数组赋值int startIndex = 0;int endIndex     = 0;    for(int i = 0; i < size; i++){endIndex = strInfo.indexOf(strSplit, startIndex);if(endIndex == -1) {arrRtn[i] = strInfo.substring(startIndex);} else {arrRtn[i] = strInfo.substring(startIndex, endIndex);}startIndex = endIndex+1;}return arrRtn;}public static void main(String[] args) {//特殊分割String a="hello|world|ni|hao|";//String[] array1=a.split("\\|");String[] array1=newsplit(a,"|");System.out.println(array1[0]);System.out.println(array1.length);}-------输出------hello
5且此方法不需要转译特殊字符,因为原生split方法同样识别正则表达式,所以不是识别特殊字符当你需要更高效的split方法时,StringUtils.split(str,"") 方法同样可用,比原生的split高效,该方法来自 apache-common的jar包,我用的是commons-lang3-3.0.1.jar的包,但要注意StringUtils.split()对于字符串开头和结尾的分割符不识别,会默认省区,————————————————

java split 坑相关推荐

  1. java split 坑_java String split 踩坑记

    split操作是出镜率非常高的一个方法, 但是我们使用中通常会使用两个类提供的split方法, 他们在入参类型一样, 但是效果却有一些差别, 稍不注意容易踩坑. java.lang.String#sp ...

  2. java split 坑_Java坑锦集一 - split函数

    split函数 ``` String a = "a,a,a,a"; System.out.println(a.split(",").length); //结果为 ...

  3. Java爬坑 -- 解决redis序列化java8 LocalDateTime错误的问题

    Java爬坑 -- 解决redis序列化java8 LocalDateTime错误的问题 参考文章: (1)Java爬坑 -- 解决redis序列化java8 LocalDateTime错误的问题 ( ...

  4. JAVA 入坑教程 | 章节九 详解java的装箱和拆箱

    简单点,代码的方式简单点,装逼的方式请省略,我们又不是演员,别设计那些情节 什么是装箱?什么是拆箱?代码如何展示? 装箱过程是怎样的?拆箱过程是怎样的? 有问题可加入安卓QQ群: 246231638 ...

  5. 基于JAVA三坑购物平台演示录像2020计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVA三坑购物平台演示录像2020计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA三坑购物平台演示录像2020计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目 ...

  6. Java split()用法,使用特殊字符要注意了

    Java split()用法,使用特殊字符要使用转义字符. 特殊字符有 * ^ : | . \ 1.单个符号作为分隔符  特殊符号* .split("\\*"); 特殊符号^ .s ...

  7. 【转载】 java split函数的几个问题

    原文链接https://www.cnblogs.com/xuxm2007/archive/2011/10/12/2208123.html java split函数的几个问题 首先来看问题,然后来看函数 ...

  8. Java踩坑笔记 —— base64转换为图片后图片显示不全

    Java踩坑笔记 -- base64转换为图片后图片显示不全 前言 解决思路 案例代码 结束语 前言 最近在开发项目中,发现base64转换图片时,出现了图片显示不全,例如如下这样 可以明显看到图片部 ...

  9. java split方法注意事项

    最近分析数据时,需要将数据分割组合,再分割,清洗后获得需要的数据.分割数据时,会使用到split方法,分割后有时会遇到问题.例如,是否以分割 符结尾时,分割出来的字符数组长度是不一样的. 一 , ja ...

最新文章

  1. 第三次作业---读《构造之法》1-5章有感
  2. winsock select模型实现
  3. 老鼠的求爱之旅 (DP)
  4. winform判断线程有没有完成_并发编程系列1:线程池的架构实现、大小配置、及四种线程池使用...
  5. 非寻常实习记Ⅱ:改变中的快乐成长
  6. SparkContext详述
  7. Matlab Tricks( 八)—— 将 pgm 格式文件转换为 png 格式
  8. 怎样把电脑换linux系统软件,如何将OS/2应用程序移植到Linux操作系统 -电脑资料...
  9. VS201x提示无法查找或打开 PDB 文件
  10. 地级市面板数据一(2000-2019):国民经济核算+人口结构+各行业从业人员(stata版)
  11. 电脑qq游戏程序更改计算机,电脑怎么把qq游戏快捷到桌面
  12. 六款Win7系统可用的免费内存释放工具,让电脑跑的更high
  13. 快速的在Adobe Illustrator中创建羊驼插图教程
  14. wps不能打印_除了office/wps,还有一些好用的办公软件推荐给你
  15. Origin2018(汉化版)在使用科学计数法的时候如何将坐标刻度的0.0改成0
  16. 重复博弈reapted games
  17. 【青龙面板】返利好省
  18. 信管家源代码c语言,AK老唐信管家软件指标 宝塔线副图源码
  19. 朴素贝叶斯的三个常用模型: 高斯、多项、伯努利的原理和解释
  20. fatal error C1859: 意外的预编译头错误,只需重新运行编译器就可能修复此问题

热门文章

  1. 下列统计量服从什么分布_第六章 数理统计基本概念
  2. python plot 时间_python – 在matplotlib中绘制时间与日期
  3. windows7没pdf打印机_公司中常见的八种打印机故障解决方法
  4. Azure PaaS服务密钥的安全性
  5. 框架计划随笔 一.背景和愿景
  6. jquery 引号问题
  7. 在ASP.NET MVC应用程序中随机获取一个字符串
  8. Android-JNI开发系列《一》-动态库的函数注册
  9. 如何在 Linux 中使用 AppImage
  10. DSP及海思嵌入式板实现gb28181