java - 如何在 String.split() 中允许空字符串?

标签 java string split

<分区>

我正在使用 String.split() 拆分一个字符串。我收到的字符串具有以下结构:

[data]<US>[data]<US>

哪里<US>是 ASCII 单位分隔符(代码 0x1F)。拆分的代码是

String[] fields = someString.split(String.valueOf(0x1f));

这很好用,除非 [DATA]是一个空字符串。在这种情况下,数据会被跳过。

我想要一个类似 [DATA]<US><US>[DATA]<US> 的字符串返回包含三个元素的数组:[DATA] , null[DATA] .

我该怎么做?

最佳答案

如果您使用 -1 作为第二个参数来参数化您的 split,您将得到一个空的 String,其中 [data ] 丢失(但不是 null)。

someString.split(String.valueOf(0x1f), -1);

解释 来自 docs

If n is non-positive then the pattern will be applied as many times as possible and the array can have any length.

.. 其中 n 是限制,即第二个参数。

关于java - 如何在 String.split() 中允许空字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30510066/

相关文章:

java - 如何在 Jaspersoft Studio 中启动并运行 java 代码?

javascript反转值的顺序

c - 在元素上拆分 C 数组

python - 拆分具有固定宽度的 *.dat 文件,每个宽度已知

c# - 在连字符前拆分字符串-asp.net C#

java - 远程 jvisualvm session 不支持 CPU 和分析

Java - 调整 JInternalFrame 大小时出现问题

java - 使用参数行 Java 打开快捷方式 (.lnk)

java - 如何扫描循环内的行并将其插入到ArrayList中?

c - C语言的摩尔斯电码翻译器