zoukankan      html  css  js  c++  java
  • 2016.3.12 java String.split()函数的用法分析(转)

    在java.lang包中有String.split()方法的原型是:
    public String[] split(String regex, int limit)
    split函数是用于使用特定的切割符(regex)来分隔字符串成一个字符串数组,函数返回是一个数组。在其中每个出现regex的位置都要进行分解。
    需要注意是有以下几点:
    (1)regex是可选项。字符串或正则表达式对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。
    (2)limit也是可选项。该值用来限制返回数组中的元素个数。
    (3)要注意转义字符:“.”和“|”都是转义字符,必须得加"\"。同理:*和+也是如此的。
    如果用“.”作为分隔的话,必须是如下写法:
    String.split("\."),这样才能正确的分隔开,不能用String.split(".");
    如果用“|”作为分隔的话,必须是如下写法:
    String.split("\|"),这样才能正确的分隔开,不能用String.split("|");
    (4)如果在一个字符串中有多个分隔符,可以用“|”作为连字符,比如:“acountId=? and act_id =? or extra=?”,把三个都分隔出来,可以用
    String.split("and|or");
    (5)split函数结果与regex密切相关,常见的几种情况如下所示:

     1 public class SplitTest {
     2     public static void main(String[] args) {
     3         String str1 = "a-b";        
     4         String str2 = "a-b-";
     5         String str3 = "-a-b";
     6         String str4 = "-a-b-";
     7         String str5 = "a";
     8         String str6 = "-";
     9         String str7 = "--";
    10         String str8 = "";
    11         
    12         split(str1);
    13         split(str2);
    14         split(str3);
    15         split(str4);
    16         split(str5);
    17         split(str6);
    18         split(str7);
    19         split(str8);
    20     }
    21     public static void split(String demo){
    22         String[] array = demo.split("-");
    23         int len = array.length;
    24         System.out.print(""" + demo + "" 分割后的长度为:" + len);
    25         if(len >= 0)
    26         {
    27             System.out.print(",分割后的结果为:");
    28             for(int i=0; i<len; i++)
    29             {
    30                 System.out.print(" ""+array[i]+""");
    31             }            
    32         }
    33         System.out.println();
    34     }
    35 }

    运行结果为:
    "a-b" 分割后的长度为:2,分割后的结果为: "a" "b"
    "a-b-" 分割后的长度为:2,分割后的结果为: "a" "b"
    "-a-b" 分割后的长度为:3,分割后的结果为: "" "a" "b"
    "-a-b-" 分割后的长度为:3,分割后的结果为: "" "a" "b"
    "a" 分割后的长度为:1,分割后的结果为: "a"
    "-" 分割后的长度为:0,分割后的结果为:
    "--" 分割后的长度为:0,分割后的结果为:
    "" 分割后的长度为:1,分割后的结果为: ""
    由此可以得出来:
    当字符串只包含分隔符时,返回数组没有元素;
    当字符串不包含分隔符时,返回数组只包含一个元素(该字符串本身);
    字符串最尾部出现的分隔符可以看成不存在,不影响字符串的分隔;
    字符串最前端出现的分隔符将分隔出一个空字符串以及剩下的部分的正常分隔;

  • 相关阅读:
    遇到缺陷错误时,有耐心,冷静思考,保证大方向是正确的
    学习新芯片和做新的工作内容时 DEMO
    599密码
    shop--7.店铺编辑和列表--店铺管理 前端
    shop--7.店铺编辑和列表--店铺列表展示 前端
    shop--7.店铺编辑和列表--店铺列表 分页查询,模糊查询--service层,controller层实现
    shop--7.店铺编辑和列表--店铺列表 分页查询,模糊查询--dao层实现
    shop--7.店铺编辑和列表--更新店铺的信息 前端实现 js
    shop--7.店铺编辑和列表--更新店铺的信息,包括对店铺照片的处理,根据shopId获取shop信息
    shop--7.店铺编辑和列表--联合查询的结果集封装ResultMap association collection
  • 原文地址:https://www.cnblogs.com/Jackie-Wang/p/5268901.html
Copyright © 2011-2022 走看看