在 Java 中使用保留的空值拆分字符串
使用 String.split() 方法执行字符串拆分时,会发生意外行为,其中连续的分隔符会导致从结果数组中删除空值。但是,期望可能是保留这些空值以保留数据的原始顺序和结构。
String data = "5|6|7||8|9||"; String[] split = data.split("\|"); System.out.println(split.length);
在此示例中,使用默认的“split()”方法,仅返回六个值:[5、6、7、8、9、空]。要保留空值,可以使用带有限制参数的 split() 重载版本。通过将限制设置为负值,将保留空值。
String[] split = data.split("\|", -1);
split(regex, limit) 的文档指出,当限制为非正数时,该模式将被应用多次尽可能允许结果数组具有任意长度,并且尾随空字符串将是
异常:
需要注意的是,只有在拆分过程中创建了这些空字符串时,删除尾随空字符串才有意义。例如,用任意分隔符分割空字符串 ("") 将生成包含空字符串的数组:["", ""]。这是因为没有执行任何拆分,因此原始字符串本身在数组中表示为空字符串。
以上是在Java中分割字符串时如何保留空字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!