Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 拆分逗号分隔符将忽略最后一项_Java_String_Split - Fatal编程技术网

Java 拆分逗号分隔符将忽略最后一项

Java 拆分逗号分隔符将忽略最后一项,java,string,split,Java,String,Split,当我尝试拆分字符串值“,.1,”时,它返回一个大小为3而不是4的数组。我怎样才能纠正它 代码: 返回: [0]="" [1]="" [2]=1 如果需要,则使用负数限制 public static void main(String... args) throws Exception { String values= ",,1,"; System.out.println(Arrays.toString(values.split(",", -1)));

当我尝试拆分字符串值
“,.1,”
时,它返回一个大小为3而不是4的数组。我怎样才能纠正它

代码:

返回:

    [0]=""
    [1]=""
    [2]=1

如果需要,则使用负数
限制

public static void main(String... args) throws Exception {
     String values= ",,1,";
     System.out.println(Arrays.toString(values.split(",", -1)));
}
O/p:


仅当分隔符符号位于字符串末尾时才会发生这种情况

if (values.charAt(values.length()-1) == ',')
    // Do something here
只需检查最后一个字符是否是分隔符符号

String values= ",,1,";
values.split(",",values.length());
你可以试试这个

试试这个:

String values= ",,1,";
String[] val =  values.split(",", -1);
双参数版本的
String.split(String regex,int limit)

如果极限n大于零,则将应用该模式 最多n-1次,数组的长度将不大于n,并且 数组的最后一个条目将包含最后一个匹配项之外的所有输入 定界符。如果n为非正,则图案将按如下方式应用 尽可能多次,数组可以有任意长度。如果n为零 然后,阵列将尽可能多次应用该模式 可以有任何长度,尾随的空字符串将被丢弃

以下是本文件的javadoc参考:

使用
值。拆分(“,”,-1)
String values= ",,1,";
values.split(",",values.length());
String values= ",,1,";
String[] val =  values.split(",", -1);