作者:倔强的追求 | 来源:互联网 | 2023-09-23 14:53
这里讲的split方法是String类中的方法,用来分割字符串,它返回一个字符串数组String[];String类中部分源码如下:publicString[]split(
这里讲的split方法是String类中的方法,用来分割字符串,它返回一个字符串数组String[];
String类中部分源码如下:
public String[] split(String regex,int limit){
return
Pattern.compile(regex).split(this,limit);
}
public String[] split(String regex){
return split(regex,0);
}
调用
String str = “ life still go on”; //这里新建一个字符串,不要将他和String[]混淆
str.split(regex,limit);
regex参数
可以是正则,也可以是字符串,该方法执行的时候顺着字符串查找,找到regex代表的字符然后进行截取,截取下的
元素用空字符串代替然后存入String[]中,其余的元素不做处理直接存入String[]中。比如说str.split("l"),返
回的String[]内容为{"","ife sti","","go on"},这里需要注意的是有连续两个相同的l的时候仅返回一个空串。
limit参数
该参数内容共分为三种情况,默认是0(看上面的源码就能看出来)
当limit为0时,截取会被尽可能多的执行,直到整个字符串完毕;
当limit>0时,截取会执行limit-1次;
当limit<0时,截取会被尽可能多的执行,它与limit为0时的区别为如果字符串末尾有符合条件的情况,它会用
空串代替,而不是像里面limit为0一样省略,例如:
str.split("n"); //返回String[]为{"life still go o"}
str.split("n",-1) //返回String[]为{"life still go o",""}
这个可以打个断点自己看一下
最后,关于该题目有问题的同学欢迎提问,本人会一一解答。