java字符串拆分函数
在java文档中^{
我们可以找到以下例子:
The string
"boo:and:foo"
, for example, yields the following results with these expressionsRegex Result
o
{ "b", "", ":and:f" }
第二个结果""
来自哪里?在{
你可以在下面搜索框中键入要查询的问题!
在java文档中^{
我们可以找到以下例子:
The string
"boo:and:foo"
, for example, yields the following results with these expressionsRegex Result
o
{ "b", "", ":and:f" }
第二个结果""
来自哪里?在{
# 1 楼答案
当您使用分隔符
o
并且两个分隔符相邻时,它会生成一个空字符串。例如,如果你有一个字符串foo::bar
并用:
分割它,你会得到{"foo", "", "bar"}
,因为分割时::
之间的空间被视为空字符串如果您想在没有任何空字符串的情况下拆分,请查看this question
结束空字符串
参考:Java: String split(): I want it to include the empty strings at the end
# 2 楼答案
请注意,对于正则表达式引擎,字符之间的位置也很重要。因此,正则表达式引擎将
boo:and:foo
字符串视为由于第一个
^between^
不在字符串的末尾,因此split
在结果中保留空位置(字符串)。由于默认情况下int limit
参数为0
,因此结尾处的空元素将被删除。如果传递-1
(非正值),则结果数组中会出现所有尾随的空元素。参见String#split参考资料