gpt4 book ai didi

Java:为什么分割字符串出错?

转载 作者:行者123 更新时间:2023-11-30 03:03:35 26 4
gpt4 key购买 nike

我从 .csv 中获取了一个字符串并想要拆分它:

String line = "1,2,3,,,,false,true,,,false,false,,,,,,,,,,,,";
String data[] = line.split(",");

这是数组的结果:

data[0] - "1"
data[1] - "2"
data[2] - "3"
data[3] - ""
data[4] - ""
data[5] - ""
data[6] - "false"
data[7] - "true"
data[8] - ""
data[9] - ""
data[10] - "false"
data[11] - "false"

为什么最后的“”行从数组中被切掉?

最佳答案

使用-1参数

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

检查javadoc

“限制参数控制应用模式的次数,因此影响结果数组的长度。如果限制 n 大于零,则模式最多应用 n - 1 次,即数组的长度将不大于 n,并且数组的最后一个条目将包含最后一个匹配分隔符之外的所有输入。如果 n 为非正数,则该模式将被应用尽可能多次,并且数组可以具有任意长度。 如果 n 为零,则该模式将被应用尽可能多次,数组可以具有任意长度,并且尾随的空字符串将被丢弃。”

当您调用 public String[] split(String regex) 时未指定任何参数,它将使用默认值 0。

来自 javadoc:“此方法的工作原理就像使用给定表达式和零限制参数调用双参数 split 方法一样。”

关于Java:为什么分割字符串出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35358380/

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