Sac*_*rma 9 java regex arrays string split
今天发生在我身上的java的行为String.split()很奇怪.
实际上我想将一个字符串拆分"aa,bb,cc,dd,,,ee"为数组,.split(",")这给了我一个["aa","bb","cc","dd","","","ee"]长度为7 的String数组.
但是当我尝试将String拆分"aa,bb,cc,dd,,,,"为数组时,这给了我一个长度为4的数组意味着只["aa","bb","cc","dd"]拒绝所有下一个空白字符串.
我想要一个将String拆分"aa,bb,cc,dd,,,,"为数组的过程["aa","bb","cc","dd","","",""].
java.lang.String api有可能吗?提前致谢.
nha*_*tdh 25
使用String.split(String regex, int limit)负限制(例如-1).
"aa,bb,cc,dd,,,,".split(",", -1)
当String.split(String regex)被调用时,它被称为与limit= 0,这将删除阵列(在大多数情况下,见下文)中的所有尾随空字符串.
实际行为String.split(String regex)很混乱:
";"或";;;"与regex存在";"将导致一个空数组.非空字符串拆分将导致删除数组中的所有尾随空字符串.从至少Java 5到Java 8可以观察到上述行为.
在JDK-6559590中拆分空字符串时,尝试更改行为以返回空数组.然而,它很快就在JDK-8028321中被还原,当它在各个地方引起回归时.这一变化从未进入最初的Java 8版本.