小编典典

用空元素在Java中拆分字符串

java

我正在逐行读取.csv文件。例如,一行可能如下所示:String str = "10,1,,,,"

现在我想根据“,”进行拆分:String[] splitted = str.split(",");现在的问题是,这仅导致2个元素,但我想拥有5个元素,前两个元素应包含10和1,其他3个元素应为空串。

另一个例子是String str = "0,,,,,"只包含一个元素,但我希望有5个元素。

最后一个示例String str = "9,,,1,,"给出了2个元素(9和1),但我希望有5个元素。第一个元素应为9,第四个元素应为1,所有其他元素应为空String。

如何才能做到这一点?


阅读 216

收藏
2020-11-30

共1个答案

小编典典

您需要将其与-1参数一起使用

String[] splitted = str.split(",", -1);

之前已经讨论过了,例如 Java:String
split():我希望它在最后包含空字符串

split实际上 不应该是 解析csv的方式,当您的String值包含逗号时可能会遇到问题

23,"test,test","123.88"

split 会将行分为4部分:

[23, "test, test", "123.88"]

而且我不认为你想要那个。

2020-11-30