java中split函数参数特殊字符的处理(转义),如:"." 、"\"、"|"
2024-08-22 08:39:06
内容介绍
本文主要介绍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("\"");
最新文章
- tyvj1004 滑雪
- ASP.NET生成缩略图的代码
- google map getLocation参考
- hdu 1236 1.3.2排名
- Android 界面滑动实现---Scroller类 从源码和开发文档中学习(让你的布局动起来)
- uva 11212
- ios 串
- 洛谷 P1146 【硬币翻转】题解
- Linux(2)---记录一次线上服务 CPU 100%的排查过程
- [Day23]IO(字节流、字符流)
- java中去除字符串(String)中的换行字符(\r \n \t)
- ranlib 作用
- redhat 7.5 更换 yum源
- 有效利用1 on 1
- tomcat单机多实例部署
- 利用percona-toolkit定位数据库性能问题
- 深入理解PHP 数组之count 函数
- 10分钟入门git简易教程
- spring boot开发为什么使用jar包
- java算法 第七届 蓝桥杯B组(题+答案) 9.取球博弈