我将此列表命名为“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]
答案 0 :(得分:2)
这可以解决它:
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);
答案 1 :(得分:1)
如果您使用带有第二个参数的负.split()
,您将获得结果数组中的所有“空”元素:
line1 = "|a||b||";
array = line1.split( "\\|" , -1 );
assertThat( array.length , equalTo( 6 ) ); // { "", "a", "", "b", "", "" }
这是你期望的吗?
干杯,