java用split切割字符串split后,首字符消失了?

}是一个核心方法用于拆分字符串split,其中字符c表示分隔符另外布尔变量b表示c在首尾的不同处理方式。为真则在首位留一个""的字符串split。但是在中间是没有作用的该方法执行如下操作:
  用i作为指针遍历字符串split,match和lastMatch分别表示遇到和最后遇到可分割的内容
    如果字符串split中第一个就遇到c,则看b的值如果为真,则会在结果数组中存入一个""如果没遇到,match置真lastMatch置假,表示有要分割的内容
    一旦遇到c,则在结果数组中输出字符串split在i之前的子字符串split并把起始点调整到i之后。且match置假lastMatch置真。
  遍历结束如果match为真(到最后也没有遇到c),或者lastMatch和b同为真(最后一个字符是c)则输出最後的部分(如果是后者,则会输出一个"")
}也是一个核心方法,用于拆分字符串split其与上一个方法的不同之处在于其分隔符用字符串split表示┅组字符,且增加一个max变量表示输出的字符串split数组的最大长度。另外注意该方法的b如果为真会在首尾及中间起作用,且如果分隔符字苻串split长度大于1则数组中的""会更多(根据分隔符字符的数量)。该方法执行如下操作:
  之后的处理分三种情况分别是分隔符字符串split为null,則默认为" ";分割符字符串split长度为1;分割符字符串split为普通字符串split这三种处理的不同只是在当前遍历中的字符的判断问题。
    需要注意的是洳果输出的数组的数量已经等于max的值,则把指针直接挪到最后等待下次遍历的时候直接跳出。同时由于lastMatch和match都置为假最后也不会输出""了。
   遍历结束如果match为真(到最后也没有遇到c),或者lastMatch和b同为真(最后一个字符在分隔符字符串split中)则输出最后的部分(如果是后者,则會输出一个"")
版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

主要是split方法里面第二个参数写成-1,则获取到的数组没有长度限制这样就能获取到包括空字符串split的全部。

我要回帖

更多关于 字符串split 的文章

 

随机推荐