Java Split - 长度错误

标签 java split

为什么我收到的长度是 3 而不是 4?我怎样才能解决这个问题以提供适当的长度?

String s="+9851452;;FERRARI;;";
String split[]=s.split("[;]");
System.out.println(split.length);

最佳答案

您收到的长度为 3,因为对于 split ,

This method works as if by invoking the two-argument split method with the given expression and a limit argument of zero. Trailing empty strings are therefore not included in the resulting array.

如果您指定一个负数限制,它会正常工作:

    String s="+9851452;;FERRARI;;";
    String split[]=s.split(";", -1);
    System.out.println(Arrays.toString(split));

您只需要忽略或删除第 5 项,或删除尾随的 ; - 它显示是因为在 4 个标记的两侧有 5 个(可能是空白的)字符串。查看docs了解更多信息。

关于Java Split - 长度错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29040530/

相关文章:

java - 更新 JFrame 内容

java - 如何在 Scala 中将 Java Collection[Int] 转换为 Array[Int]

java - 方法覆盖特定情况

python - 需要帮助思考在 Python 中以整数除法拆分列表

javascript - 限制 .split() 拆分的次数,而不是 chop 结果数组

regex - 在第一个和最后一个逗号上拆分字符串

Java:比较字符串时 != 的等价物是什么?

java - 结合 TCP 套接字和 Restful 端点

java - 对空格、 "("和 ")"进行字符串 split()

java - 如何使用Java中的split函数分割像p^q这样的字符串?