java 转义函数_java中split函数参数特殊字符的处理(转义),如:"." 、"\"、"|"

内容介绍

本文主要介绍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的值如下:

847e242f03a37d477c809357e6d4dde0.png

很显然,这结果不是我们想要的预期结果,追其原因,因为"|"是特殊字符,在使用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("\\|");

结果如下:

968bfda382fbf9596dd517b7c73ed19f.png

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

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("\"");

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值