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(""");
  • 相关阅读:
    多态
    重载 特点
    java 测量运行时间 单位:毫秒
    java 源代码 二分查找 Arrays
    java 同步 synchronized
    云服务器,价格其实不便宜,但为什么还要用呢
    网站访问优化(二):开启apache服务器gzip压缩
    CXF整合Spring开发WebService
    网站访问优化,未完待续
    网站访问优化,未完待续
  • 原文地址:https://www.cnblogs.com/codecat/p/11402056.html
Copyright © 2011-2022 走看看