如何拆分所有值,甚至 Java 中的空值
how to split all values even the empty ones in Java
我将此列表命名为 "lines":
[|||dezd||, |a|||||||||||||||||||||||||||||, |||||dezdezd||||, |||||||||||||dezdzedze|||dezdzede|||dzedzedzed|]
我实现了这个:
for (String line1 : lines) {
String[] array = null;
array = line1.split("\|");
for(int i = 0 ;i<array.length;i++){
listOfData.add(array[i]);
}
}
System.out.println(listOfData);
结果是这样的,问题是"|"之间有些空值没有添加到我的列表中:
[, , , dezd, , a, , , , , , dezdezd, , , , , , , , , , , , , , dezdzedze, , , dezdzede, , , dzedzedzed]
如果你使用 .split()
和第二个负参数,你也会得到结果数组中的所有 "empty" 元素:
line1 = "|a||b||";
array = line1.split( "\|" , -1 );
assertThat( array.length , equalTo( 6 ) ); // { "", "a", "", "b", "", "" }
这是你期望的吗?
干杯,
这可以解决它:
for (String line1 : lines) {
String[] array = null;
array = line1.split("\|",-1);
for(int i = 1 ;i<array.length-1;i++){
listOfData.add(array[i]);
}}
System.out.println(listOfData);
我将此列表命名为 "lines":
[|||dezd||, |a|||||||||||||||||||||||||||||, |||||dezdezd||||, |||||||||||||dezdzedze|||dezdzede|||dzedzedzed|]
我实现了这个:
for (String line1 : lines) {
String[] array = null;
array = line1.split("\|");
for(int i = 0 ;i<array.length;i++){
listOfData.add(array[i]);
}
}
System.out.println(listOfData);
结果是这样的,问题是"|"之间有些空值没有添加到我的列表中:
[, , , dezd, , a, , , , , , dezdezd, , , , , , , , , , , , , , dezdzedze, , , dezdzede, , , dzedzedzed]
如果你使用 .split()
和第二个负参数,你也会得到结果数组中的所有 "empty" 元素:
line1 = "|a||b||";
array = line1.split( "\|" , -1 );
assertThat( array.length , equalTo( 6 ) ); // { "", "a", "", "b", "", "" }
这是你期望的吗?
干杯,
这可以解决它:
for (String line1 : lines) {
String[] array = null;
array = line1.split("\|",-1);
for(int i = 1 ;i<array.length-1;i++){
listOfData.add(array[i]);
}}
System.out.println(listOfData);