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

mac*_*ery 0 java string split

我正在逐行读取.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,所有其他元素应为空字符串.

如何才能做到这一点?

rad*_*doh 5

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

String[] splitted = str.split(",", -1);
Run Code Online (Sandbox Code Playgroud)

这已在前面讨论过,例如 Java:String split():我希望它在末尾包含空字符串

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

23,"test,test","123.88"
Run Code Online (Sandbox Code Playgroud)

split 将该行分为4部分:

[23, "test, test", "123.88"]
Run Code Online (Sandbox Code Playgroud)

我不认为你想要那个.