zoukankan      html  css  js  c++  java
  • String.split()遇到空字符串不解析的情况

    1、split的api说明

    stringObj.split([separator,[limit]]) 

    stringObj:要被分解的 String 

    separator:字符串或正则表达式对象

    limit:参数控制模式应用的次数。当为正值:模式将被最多应用 n - 1 次。当负值:模式将被应用尽可能多的次数,

    2、案例:空字符串不被解析

    public class test {
        public static void main(String[] args) {
            String str = "1,2,3,4,,,";
            String[] arr = str.split(",");
            for (String string : arr) {
                System.out.println("str"+string);
            }
            System.out.println(arr.length);
        }
    }

    结果:

    str1

    str2

    str3

    str4

    4

    3、解决办法

    方法1:limit赋值成比该字符串被分隔成字符数组后数组的长度大很多的值,这能保证所有为空的都能被解析,

    方法2:limit设置为非正,也能全部解析

    public class test {
        public static void main(String[] args) {
            String str = "1,2,3,4,,,";
            String[] s = str.split(",",-1);
            for (String string : s) {
                System.out.println("str"+string);
            }
            System.out.println(s.length);
        }
    }

    输出:

    str1

    str2

    str3

    str4

    str

    str

    str

    7

    注意:

    1、如果用“.”作为分隔的话,必须是如下写法,String.split("\."),这样才能正确的分隔开,不能用String.split(".");
    2、如果用“|”作为分隔的话,必须是如下写法,String.split("\|"),这样才能正确的分隔开,不能用String.split("|");

  • 相关阅读:
    3.7号一周学习
    3.6号
    人月神话01
    课堂测试之全国疫情统计可视化地图第一阶段完成
    课堂测试之全国疫情统计可视化地图
    2.25号课堂作业
    2.29一周学习
    软件工程第二周开课博客
    2.25号课堂测试
    Mysql+Mycat实现数据库主从同步与读写分离
  • 原文地址:https://www.cnblogs.com/tiandi/p/13650819.html
Copyright © 2011-2022 走看看