java字符串截取的问题

我获取了一个字符串,比如说是“2|3| | |“,用”|“截取后只能获得2和3两个数据,怎么才能去到包括空值在内的所有数据,使数组的长度符合预期啊,谢谢大神了

    String a = "1|2|||";
        StringTokenizer st = new StringTokenizer(a, "|");
        while(st.hasMoreTokens()){
            System.out.println(st.nextToken());
        }

附上代码,亲测有效

怎么才能去到包括空值在内的所有数据,使数组的长度符合预期 没懂,什么空值

StringTokenizer你去看看这个类的用法吧

把空格截取的String.split(" | ")的空格去掉试试

建议你在使用字符串截取的方法时写成split(" | ");这样就可以了吧。

最简单的方法用split(),只不过里面多放一个参数,split("|",-3),-3代表多切割两次
默认情况下split("|")其实第二个参数是0,这个参数是指代表切割的次数,
在默认情况为0时,如果最后一位切割出来是空字符的话,那么切割出的数组将不包含这个空字符,所以你只得到2和3

split("|",-3),-3代表多切割两次:
这里搞错,是多切割三次。。混乱了。

split("|",-3),-3代表多切割两次