Java 将字符串拆分为数组

2022-08-31 09:56:48

我需要有关该方法的帮助。我有以下几点:split()String

String values = "0|0|0|1|||0|1|0|||";

我需要将值放入数组中。有 3 个可能的字符串:“0”、“1”和“”

我的问题是,当我尝试使用:split()

String[] array = values.split("\\|"); 

我的值仅保存到最后一个 0。似乎“|||”的部分被修剪了。我做错了什么?

谢谢


答案 1

此行为显式记录在 String.split(String regex) 中(强调我的):

此方法的工作方式就像调用具有给定表达式和极限参数零的双参数拆分方法一样。因此,尾随空字符串不包括在结果数组中。

如果要包含这些尾随的空字符串,则需要使用 String.split(字符串正则表达式,int 限制),并为第二个参数 () 提供负值:limit

String[] array = values.split("\\|", -1);

答案 2

试试这个

String[] array = values.split("\\|",-1);