内容介绍

本文主要介绍java中特殊字符做为split函数的参数,如:"." 、"\"、"|",双引号等,不能正确分隔源字符串的处理方法。

代码示例

使用"|"进行分隔的代码

String reclassData= "0,15,0|15,30,1|30,45,2|45,60,3|60,75,4|75,90,5|'NODATA','NODATA'";
String[] arrData = reclassData.split("|");

arrData的值如下:

很显然,这结果不是我们想要的预期结果,追其原因,因为"|"是特殊字符,在使用split函数时,需要转义,即:"\\|",修改后的代码如下:

String reclassData= "0,15,0|15,30,1|30,45,2|45,60,3|60,75,4|75,90,5|'NODATA','NODATA'";
String[] arrData = reclassData.split("\\|");

结果如下:

这次结果对了,像"|"这样的特殊字符还有".","\","$",在使用时,均需要转义。

String reclassData4 = "0,15,0$15,30,1$30,45,2$45,60,3$60,75,4$75,90,5$'NODATA','NODATA'";
String[] arrData4 = reclassData4.split("\\$");
String reclassData2 = "0,15,0.15,30,1.30,45,2.45,60,3.60,75,4.75,90,5.'NODATA','NODATA'";
String[] arrData2 = reclassData2.split("\\.");

在使用"\"分隔时,要注意在源字符串要使用"\\"进行转义,而split的参数要使用"\\\\",代码如下:

String reclassData3 = "0,15,0\\15,30,1\\30,45,2\\45,60,3\\60,75,4\\75,90,5\\'NODATA','NODATA'";
String[] arrData3 = reclassData3.split("\\\\");

尽量避免使用英文状态下的单引号、双引号来做为split的参数,如迫不得已,使用下面的方式来处理:

//双引号的处理
String reclassData5 = "0,15,0\"15,30,1\"30,45,2\"45,60,3\"60,75,4\"75,90,5\"'NODATA','NODATA'";
String[] arrData5 = reclassData5.split("\"");

最新文章

  1. tyvj1004 滑雪
  2. ASP.NET生成缩略图的代码
  3. google map getLocation参考
  4. hdu 1236 1.3.2排名
  5. Android 界面滑动实现---Scroller类 从源码和开发文档中学习(让你的布局动起来)
  6. uva 11212
  7. ios 串
  8. 洛谷 P1146 【硬币翻转】题解
  9. Linux(2)---记录一次线上服务 CPU 100%的排查过程
  10. [Day23]IO(字节流、字符流)
  11. java中去除字符串(String)中的换行字符(\r \n \t)
  12. ranlib 作用
  13. redhat 7.5 更换 yum源
  14. 有效利用1 on 1
  15. tomcat单机多实例部署
  16. 利用percona-toolkit定位数据库性能问题
  17. 深入理解PHP 数组之count 函数
  18. 10分钟入门git简易教程
  19. spring boot开发为什么使用jar包
  20. java算法 第七届 蓝桥杯B组(题+答案) 9.取球博弈

热门文章

  1. Mysql中类似于Oracle中connect by ... start with的查询语句(木大看懂)
  2. C++ 读取一个文件下所有文件的文件名
  3. Asp.Net Core异常处理
  4. 【LEETCODE】35、169题, Majority Element
  5. Geoserver 跨域设置
  6. 1-redis使用笔记
  7. kubernetes第九章--管理机密信息
  8. OC 组合实现多继承
  9. 阿里云OSS上传文件demo
  10. Ubuntu恢复默认界面命令