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("|");

  • 相关阅读:
    beta冲刺1
    凡事预则立-于Beta冲刺前
    SDN第二次作业
    事后诸葛亮(团队)
    SDN第一次上机作业
    冲刺总结随笔
    Alpha第三天
    Alpha第二天
    Alpha冲刺博客集
    项目需求分析(团队)
  • 原文地址:https://www.cnblogs.com/tiandi/p/13650819.html
Copyright © 2011-2022 走看看