• 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(""");
  • 相关阅读:
    VUE ElementUI Tree JAVA Mybatis实现 麦克斯
    VUE 创建工程 项目 麦克斯
    Go——关于Time包
    etcd——是什么做什么如何用
    php——composer安装与使用
    TinyXml——Linux下TinyXml的编译
    Mac下eclipse安装 lombok 插件
    gitlab——搭建私有gitlab服务
    apachehttpd——Linux/Mac源码安装apachehttpd
    mongo——通过docker查看mongo集群的状态和数据
  • 原文地址:https://www.cnblogs.com/codecat/p/11402056.html
Copyright © 2020-2023  润新知