gpt4 book ai didi

java - 在 Java 中拆分一个空字符串似乎违反了文档,因为它不丢弃尾随的空字符串

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:03:56 25 4
gpt4 key购买 nike

System.out.println(",".split(",", 0).length);
System.out.println("".split(",", 0).length);

打印:

0
1

这看起来很奇怪。根据 String.split(pattern, n) 的文档,

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.

在第二种情况下,当拆分一个空字符串时,这条规则似乎被忽略了。这是预期的行为吗?

最佳答案

来自文档

If the expression does not match any part of the input then the resulting array has just one element, namely this string

"".split(",", 0).length 表示类似这样

    System.out.println(new String[]{""}.length);

字符串 "" 中没有 , 因此数组包含单个元素 "" 一个空字符串,导致数组长度为1

另一个例子

    System.out.println("aaa".split(",", 0).length); // 1
System.out.println("aaa".split("," , 0)[0]); // aaa

关于java - 在 Java 中拆分一个空字符串似乎违反了文档,因为它不丢弃尾随的空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42889034/

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