zoukankan      html  css  js  c++  java
  • Split 按单字符进行拆分的原因

    一、问题简述

    在使用String.split()对字符串进行拆分时需要注意,如果使用某些特殊的符号作为分隔符,将不能正常拆分。例如:

    1 String info = "org|shop|person";
    2 String [] array= info.split("|");
    3 
    4 System.out.println("array[0] --- "+array[0]);
    5 System.out.println("array[1] --- "+array[1]);
    6 System.out.println("array[2] --- "+array[2]);

    运行结果

      array[0] --- o
      array[1] --- r
      array[2] --- g

     会发现结果并不如预期那样分别是 org ,shop,person 三个字符串,而是被按单个字符进行了拆分。

    二、原因

    split() 支持按正则表达式进行拆分,当已"|"做分割符时,被误认为是正则表达式。

    三、处理方案

    处理方法也很简单,在分割符文本之前加上转义符号"\"即可。
    1 String info = "org|shop|person";
    2 String [] array= info.split("\|");
    3 
    4 System.out.println("array[0] --- "+array[0]);
    5 System.out.println("array[1] --- "+array[1]);
    6 System.out.println("array[2] --- "+array[2]);
    运行结果

      array[0] --- org
      array[1] --- shop
      array[2] --- person

    
    

    同理还有以"."为分割符号的情况。

    寒江孤影,江湖故人,相逢何必曾相识
  • 相关阅读:
    时间戳(UnixTimestamp)与 《2038年问题》
    端口相关命令
    Ubuntu中的在文件中查找和替换命令
    A Reusable Aspect for Memory Profiling
    acc文件的运行
    A Reusable Aspect for Memory Allocation Checking
    ACC常用语句
    aspectC++常用命令
    c++调用DOS命令,不显示黑屏
    fopen文件目录问题
  • 原文地址:https://www.cnblogs.com/ayrie/p/12482238.html
Copyright © 2011-2022 走看看