Java 将逗号分隔的字符串转换为最后有逗号的列表
下面的字符串最后有一个逗号。我想将字符串转换为列表。我使用下面的代码来做这件事Java 将逗号分隔的字符串转换为最后有逗号的列表,java,core,Java,Core,下面的字符串最后有一个逗号。我想将字符串转换为列表。我使用下面的代码来做这件事 public class TestClass { public static void main(String[] args) { String s = "2017-07-12 23:40:00.0,153.76,16.140,60.00,,56.00,"; String [] items = s.split(","); List<String>
public class TestClass {
public static void main(String[] args) {
String s = "2017-07-12 23:40:00.0,153.76,16.140,60.00,,56.00,";
String [] items = s.split(",");
List<String> splittedString = new ArrayList<String>(Arrays.asList(items));
for (String s1 : splittedString) {
System.out.println(s1);
}
System.out.println("Here");
}
}
预期输出:-
2017-07-12 23:40:00.0
153.76
16.140
60.00
56.00
Here
将分割线更改为:
String [] items = s.split(",", -1);
它应该像你期望的那样。这是有限制的版本。检查。将分割线更改为:
String [] items = s.split(",", -1);
它应该像你期望的那样。这是有限制的版本。检查。这是字符串分割的预期行为 根据java文档 此方法的工作方式类似于通过调用具有 给定的表达式和零的极限参数。尾随空 因此,结果数组中不包括字符串
这是String#split的预期行为 根据java文档 此方法的工作方式类似于通过调用具有 给定的表达式和零的极限参数。尾随空 因此,结果数组中不包括字符串
@尼弗:不,这里前面没有空行。。请检查。@NiVeR:60.00之后有一个空行,因为它后面有一个逗号。请显示实际值output@NiVeR:请立即查看更新的问题。Simplify-try
for(字符串s1:s.split(“,”){System.out.println(s1);}System.out.println(“此处”)代码>-相同的输出。@NiVeR:不,这里前面没有空行。。请检查。@NiVeR:60.00之后有一个空行,因为它后面有一个逗号。请显示实际值output@NiVeR:请立即查看更新的问题。Simplify-tryfor(字符串s1:s.split(“,”){System.out.println(s1);}System.out.println(“此处”)代码>-相同的输出。虽然这确实解释了拆分
逻辑,但它并不能解决OP的问题。@没错,这并不能解决OP的问题,但可以解释问题产生的原因。您已经回答了解决方案,这就是为什么我没有把它放在我的答案中。虽然这确实解释了split
逻辑,但它并没有解决OP的问题。@没错,这并没有解决OP的问题,但解释了问题的原因。你已经回答了解决方案,这就是为什么我没有把它放在我的答案中。