zoukankan      html  css  js  c++  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的值如下:

    很显然,这结果不是我们想要的预期结果,追其原因,因为"|"是特殊字符,在使用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(""");
  • 相关阅读:
    第二阶段冲刺第五天(6月4号)
    第二阶段冲刺第四天(6月3号)
    第二次阶段冲刺第三天(6月2号)
    第二次阶段冲刺第二天(6月1号)
    第二次阶段冲刺第一天(5月31号)
    第十周学习进度
    第十一周学习进度
    第十二周学习进度
    javascript 将递归转化为循环
    创建数据库,并设置外部访问权限
  • 原文地址:https://www.cnblogs.com/codecat/p/11402056.html
Copyright © 2011-2022 走看看