现在我正在使用
StringUtils.split(String str, char separatorChar)
用指定的分隔符(,
)拆分输入字符串。
示例输入数据:
a,f,h
输出
String[] { "a", "f", "h" }
但是有以下输入:
a,,h
只返回
String[] { "a", "h" }
我需要的只是空字符串对象:
String[] { "a", "", "h" }
我怎样才能做到这一点?
答案 0 :(得分:12)
如果您要使用StringUtils
,请拨打splitByWholeSeparatorPreserveAllTokens()
方法,而不是split()
。
答案 1 :(得分:8)
您可以使用String.split(..)方法,不需要StringUtils:
"a,,h".split(","); // gives ["a", "", "h"]
答案 2 :(得分:4)
你可以使用这个重载的split()
public String[] split(String regex,
int limit)
limit参数控制模式的应用次数,因此会影响结果数组的长度。如果限制n大于零,那么模式将最多应用n - 1次,数组的长度将不大于n,并且数组的最后一个条目将包含超出最后匹配分隔符的所有输入
更多访问split
答案 3 :(得分:3)
答案 4 :(得分:1)
使用指定的分隔符拆分字符串,而不省略空元素。
使用方法org.apache.commons.lang.StringUtils.splitByWholeSeparatorPreserveAllTokens()
优于其他方法的不同类:
String.Split()
方法将正则表达式作为参数,因此它适用于某些字符作为分隔符,但不适用于所有例如:管道(|)等。我们必须将escape char附加到pipe(|),以便它可以正常工作。
Tokenizer
(字符串或流) - 它会跳过delimiter's
之间的空字符串。