zoukankan      html  css  js  c++  java
  • java split函数结尾空字符串被丢弃的问题

    参考: 
    http://yinny.iteye.com/blog/1750210 
    http://www.xuebuyuan.com/1692988.html

    java中的split函数用于将字符串分割为字符数组是很方便的,但由于不是很熟悉,犯了错误

    如下:

    String strtest = “1,2,”; 
    String arry[] = strtest.split(“,”); 
    这样得到的数组元素个数只是2两个,为什么呢,最后一个”,”后没有内容,它没有作为空字符串成为第三个数组元素,结尾的空字符串被丢弃了! 
    这个函数还有另一种重载方式 :public String [] split (String regex, int limit) 看下说明 
    limit 参数控制模式应用的次数,因此影响所得数组的长度。如果该限制 n 大于 0,则模式将被最多应用 n - 1 次,数组的长度将不会大于 n ,而且数组的最后一项将包含所有超出最后匹配的定界符的输入。如果 n 为非正,那么模式将被应用尽可能多的次数,而且数组可以是任何长度。如果 n 为 0,那么模式将被应用尽可能多的次数,数组可以是任何长度,并且结尾空字符串将被丢弃。

    而对于函数 public String [] split (String regex) 
    该方法的作用就是使用给定的表达式和限制参数 0 来调用两参数 split方法。因此,所得数组中不包括结尾空字符串

    所以如果不想让结尾的空字符串被丢弃,那么应该这样写:

    String strtest = “1,2,”; 
    String arry[] = strtest.split(“,”, -1);

  • 相关阅读:
    树链剖分
    后缀自动机
    莫队算法。
    线性递推BM模板
    笛卡尔积
    2019牛客暑期多校训练营(第三场) J LRU management 模拟链表操作
    线性基
    bitset 位运算
    Lindström–Gessel–Viennot lemma定理 行列式板子
    三角形
  • 原文地址:https://www.cnblogs.com/toSeeMyDream/p/9178301.html
Copyright © 2011-2022 走看看