关于split (方法split ) )方法,我们先来看看API中如何介绍的:
split ) )根据给定正则表达式的匹配项拆分字符串
String arr='a! B! C '; String [] arr1=arr.split ('!' ); 系统. out.println (arrays.tostring (arr1) ); system.out.println(arr1.length ); //返回的数组为[a,b,c],明确给出的'!' 这是去除的最常见的方法。今天我看了源代码,有了新的感悟;
我们最常用的方法其实是split的重载方法
公共string [ ] split (string regex ) { return split (regex,0 ); //此方法将原始方法的另一个参数int limit设置为0,然后查看原始两个参数的split方法
public string [ ] split (string regex,int limit )很多人不知道第二个参数,让我们来看看这两个参数是什么意思
参数解释1.regex (正则表达式)
根据输入的字符(元素)剪切字符串;
如果表达式不匹配任何内容,则返回原始字符串。 空字符串也是字符串。
2.limit
控制匹配次数
让我们看看不同limit参数下的情况
2.1 limit=-1
String arr='! 答! bc! 缉毒局!' ; String [] arr1=arr.split ('!' 、-1; 系统. out.println (arrays.tostring (arr1) ); system.out.println(arr1.length ); //a,bc,def,]长度说明6//头和尾! 未被忽略的2.2 limit=0
String arr='! 答! bc! 缉毒局!' ; String [] arr1=arr.split ('!' 、0; 系统. out.println (arrays.tostring (arr1) ); system.out.println(arr1.length ); //a、bc、def )的长度等于忽略了4//尾部! 头部不忽略2.3 limit=2
String arr='! 答! bc! 缉毒局!' ; String [] arr1=arr.split ('!' 、2 ); 系统. out.println (arrays.tostring (arr1) ); system.out.println(arr1.length ); //,a! bc! 缉毒局! ]长度限制为2//全长为2个。 (注意第一个感叹号的起点) 2.4 limit=100
String arr='! 答! bc! 缉毒局!' ; String [] arr1=arr.split ('!' 、100; 系统. out.println (arrays.tostring (arr1) ); system.out.println(arr1.length ); //a,bc,def,]长度为6//意味着,如果limit大于0且远大于某个长度,则头和尾逗号为创作不易,yjdsy留步… 动起可爱的双手,来个赞再走呗 ()