我希望拆分一个字符串,但也保持空值.例如,我有一个这样的字符串:
String x = "x,y";
String result[] = y.split(",");
// then i will get result like this:
//result[] = ["x","y"]
Run Code Online (Sandbox Code Playgroud)
但如果我有这样的字符串:
String y = "x,";
String result[]=y.split(",");
//i will get something thing like this:
//result[] = ["x"]
Run Code Online (Sandbox Code Playgroud)
我想保持空值.我可以得到这样的结果:result[]=["x",""]使用split方法吗?
答案是在两个参数的javadoc中: split
limit参数控制模式的应用次数,因此会影响结果数组的长度.如果限制n大于零,那么模式将最多应用n - 1次,数组的长度将不大于n,并且数组的最后一个条目将包含超出最后匹配分隔符的所有输入.如果n是非正数,那么模式将被应用尽可能多的次数,并且数组可以具有任何长度.如果n为零,那么模式将被应用尽可能多的次数,数组可以具有任何长度,并且将丢弃尾随的空字符串.
单参数的javadocsplit说:
此方法的工作方式就像调用带有给定表达式和limit参数为零的双参数split方法一样.因此,结尾的空字符串不包含在结果数组中.
2-argument javadoc的最后两个句子暗示负值limit具有与零值相同的行为(与one-argument相同的行为split),除了尾随空字符串.因此,如果您想保留尾随的空字符串,则限制的任何负值都将起作用.从而:
String result[] = y.split(",", -1);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1335 次 |
| 最近记录: |