gpt4 book ai didi

Java被连续字符分割

转载 作者:IT老高 更新时间:2023-10-28 21:00:11 28 4
gpt4 key购买 nike

我有以下示例,以更好地解释我正在尝试做的事情:

String text = "a,b,,,,c,,";
String[] split = text.split(",");
for(int i=0;i<split.length;i++){
System.out.println("I = "+i+" "+split[i]);
}

输出是:

I = 0 a

I = 1 b

I = 2

I = 3

I = 4

I = 5 c

但是,我想要的是获得一个大小为 8 的数组,其中还包含:

I = 6 

I = 7

当然,最后 2 个元素将是空字符串,但对我来说获取它们是必不可少的。另外,我认为拥有它们是合乎逻辑的。我的意思是,如果我有:

String text = "a,b,,,,c,,d";

结果将是一个大小为 8 的数组,我认为这两个示例之间没有太大区别。

最佳答案

String[] split = text.split(",", -1);

这种行为实际上看起来很棘手,但实际上在 official documentation 中解释了(恕我直言,不是很好)。 .

If n is non-positive then the pattern will be applied as many times as possible and the array can have any length

text.split(",") 的问题在于它等价于text.split(",", 0)。使用 0 限制,如文档中所述:

If n is zero then the pattern will be applied as many times as possible, the array can have any length, and trailing empty strings will be discarded.

你绝对不希望空字符串被丢弃。

关于Java被连续字符分割,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15113272/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com