当我输入问题时想通了!使用 stringObj.split(“,”,numDelimitersExpected)
或@Supericy指出,使用stringObj.split (“,”,-1) 。
根据有关stringObj.split(delimiter)的Android文档,对的调用
line.split("," )等效于line.split( ",", 0 )引用了第二个参数的
limit,它设置了“ 最大条目数 ”并定义了“ 尾随空字符串
的 处理
”。查看stringObj.split(delimiter)的文档,它指出带有
limit== 0‘ 尾随空字符串将不会被返回 ‘。
解决方案是使用对set 的调用,将
split( ",", limit )其
limit设置为 您希望返回的数组条目数
。在我的情况下,将限制设置为5将返回数组
values[0] : '1'values[1] : 'Some Value'values[2] : '31337'values[3] : 'Another Value'values[4] : ''
这正是我想要的。 问题解决了。
实际上,即使您的
toSplit字符串的定界符少于
limit,带集合的调用
limit仍会创建最多为的空数组条目
limit。例如,使用与我的问题相同的输入字符串:
String toSplit = "1,Some Value,31337,Another Value,"
调用
String values[] = toSplit.split( ",", 8 )返回数组
values[0] : '1'values[1] : 'Some Value'values[2] : '31337'values[3] : 'Another Value'values[4] : ''values[5] : ''values[6] : ''values[7] : ''
整齐!
注意:Oracle的Java
String.split(delimiter)具有与Android文档相同的功能,因其更为简洁的解释而获奖。(:
编辑:作为@Supericy添加,
toSplit.split( ",", -1 )还将 正确返回尾随的空条目 。感谢您的加入!



