栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

String.split何时返回空数组?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

String.split何时返回空数组?

split(regex)
返回结果的
split(regex,0)
地方
0
limit
。现在根据文档(限制由表示
n

如果

n
为零,则将尽可能多地应用该模式,该数组可以具有任何长度,并且 尾随的空字符串将被丢弃

(强调我的)

这意味着在类似

"ababaa".split("a")

首先,您将获得数组,

["", "b","b","",""]
但随后的空字符串将被删除,因此您将获得数组
["","b","b"]

但是,如果您的字符串仅包含

split
可以与其模式匹配的元素,例如

"ababab".split("ab")

首先,数组将包含

["","","",""]
(三个分割),但随后将删除空的尾随元素,这意味着将删除所有元素,这将使您拥有
[]
(大小为0的数组)。

因此,要获得空数组,您需要分割仅包含可通过

split
参数匹配的子字符串的字符串,因此,如果
split("")
原始字符串必须仅由空格构建,并且其长度必须至少为1。

顺便说一句,如果原始字符串不会像“”那样为空,

split("")
那么将返回具有原始字符串的数组,这意味着您仍将获得
[""]
具有一个元素的数组,而不是空数组。

你可以说:“ 但你说的是,后空字符串被删除,为什么这个‘’不删除(这是落后的,也是空的)? ”。是的,但是仅当_这些字符串作为splitting结果创建时_ ,删除尾随的空字符串才有意义,因此,如果未发生split,则不需要“
cleanup”,因此result数组将包含原始字符串,如我之前对此的解释学科。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/574514.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号