如何在java中正确分割一行
我有点困惑如何在java中正确分割一行,java,string,split,Java,String,Split,我有点困惑 public static void main(String [] args){ String s = "a,b,c,d,"; System.out.println(s.split(",").length); } 我希望看到5作为输出。。但是输出是4? 为什么它会忽略最后一个“null”字段 如果我试图解析有(比如)5列的数据,我该如何处理这种情况 cases: a,b,c,d,e a,,c,d,e //this case is fine
public static void main(String [] args){
String s = "a,b,c,d,";
System.out.println(s.split(",").length);
}
我希望看到5作为输出。。但是输出是4?
为什么它会忽略最后一个“null”字段
如果我试图解析有(比如)5列的数据,我该如何处理这种情况
cases:
a,b,c,d,e
a,,c,d,e //this case is fine as this still has 5 fields.. one of the field is missing.. but thats ok
a,b,c,d //simple length check with header catches this error
a,b,c,d,e,f //simple length check
a,b,c,d,e,// looks like there are 6 fields.. but unable to catch such error by length check
方法忽略任何尾随的空字符串。因此,它们不是数组的一部分。如果希望它们成为数组的一部分,请使用重载方法,该方法将限制作为第二个参数。如果为限制传递负值,则不会忽略尾随的空字符串
System.out.println(s.split(",", -1).length);
而且,空字符串不是
null
方法忽略任何尾随的空字符串。因此,它们不是数组的一部分。如果希望它们成为数组的一部分,请使用重载方法,该方法将限制作为第二个参数。如果为限制传递负值,则不会忽略尾随的空字符串
System.out.println(s.split(",", -1).length);
而且,空字符串不是
null
null
字符串不同于空(“”)字符串。null
字符串不同于空(“”)字符串。而且,空字符串也不是null
。感谢您添加此项。此外,空字符串不是null
。谢谢你添加这个。