Java 拆分字符串并保留空值

Java 拆分字符串并保留空值,java,string,split,Java,String,Split,我希望拆分字符串,但也保留空值。例如,我有这样一个字符串: String x = "x,y"; String result[] = y.split(","); // then i will get result like this: //result[] = ["x","y"] String y = "x,"; String result[]=y.split(","); //i will get something thing like this: //result[] = ["x"] 但是

我希望拆分字符串,但也保留空值。例如,我有这样一个字符串:

String x = "x,y";
String result[] = y.split(",");
// then i will get result like this:
//result[] = ["x","y"]
String y = "x,";
String result[]=y.split(",");
//i will get something thing like this:
//result[] = ["x"]
但是如果我有这样一个字符串:

String x = "x,y";
String result[] = y.split(",");
// then i will get result like this:
//result[] = ["x","y"]
String y = "x,";
String result[]=y.split(",");
//i will get something thing like this:
//result[] = ["x"]
我希望这个函数也保持空值。我是否可以使用
split
方法得到这样的结果:
result[]=[“x”,“”]

limit参数控制填充图案的次数 应用,因此会影响结果数组的长度。如果 极限n大于零,则模式将应用于 大多数情况下,数组的长度将不大于n,并且 数组的最后一个条目将包含最后一个匹配项之外的所有输入 定界符。如果n为非正,则图案将按如下方式应用 尽可能多次,数组可以有任意长度。如果n为零 然后,阵列将尽可能多次应用该模式 可以有任何长度,尾随的空字符串将被丢弃

一个参数
split

此方法的工作方式类似于通过调用具有 给定的表达式和零的极限参数。尾随空 因此,结果数组中不包括字符串

双参数javadoc的最后两句话意味着
limit
的负值与零值具有相同的行为(与单参数
split
的行为相同),但后面的空字符串除外。因此,如果希望保留尾随的空字符串,则限制的任何负值都将起作用。因此:

String result[] = y.split(",", -1);
答案在两个参数的中
split

limit参数控制填充图案的次数 应用,因此会影响结果数组的长度。如果 极限n大于零,则模式将应用于 大多数情况下,数组的长度将不大于n,并且 数组的最后一个条目将包含最后一个匹配项之外的所有输入 定界符。如果n为非正,则图案将按如下方式应用 尽可能多次,数组可以有任意长度。如果n为零 然后,阵列将尽可能多次应用该模式 可以有任何长度,尾随的空字符串将被丢弃

一个参数
split

此方法的工作方式类似于通过调用具有 给定的表达式和零的极限参数。尾随空 因此,结果数组中不包括字符串

双参数javadoc的最后两句话意味着
limit
的负值与零值具有相同的行为(与单参数
split
的行为相同),但后面的空字符串除外。因此,如果希望保留尾随的空字符串,则限制的任何负值都将起作用。因此:

String result[] = y.split(",", -1);

使用
x.split(“,”,-1)
还可以在代码中添加一些分号,并使用
y
not
x
使用
x.split(“,”,-1)
还可以在代码中添加一些分号,然后使用split
y
not
x
非常感谢,非常有效!非常感谢,这很有效!