JAVA利用split实现切分字符串

大憨熊 提交于 2019-12-26 03:04:24

JAVA利用split实现切分字符串,以char分隔,具体代码如下:
 
/**
* 切分字符串
* @param str 被切分的字符串
* @param separator 分隔符字符
* @param limit 限制分片数
* @return 切分后的集合
*/
public static List<String> split(String str, char separator, int limit){
if(str == null) {
return null;
}
List<String> list = new ArrayList<String>(limit == 0 ? 16 : limit);
if(limit == 1) {
list.add(str);
return list;
}
 
boolean isNotEnd = true; //未结束切分的标志
int strLen = str.length();
StringBuilder sb = new StringBuilder(strLen);
for(int i=0; i < strLen; i++) {
char c = str.charAt(i);
if(isNotEnd && c == separator) {
list.add(sb.toString());
//清空StringBuilder
sb.delete(0, sb.length());
 
//当达到切分上限-1的量时,将所剩字符全部作为最后一个串
if(limit !=0 && list.size() == limit-1) {
isNotEnd = false;
}
}else {
sb.append(c);
}
}
list.add(sb.toString());
return list;
}  转载请注明诚信在线下载http://www.ttt8888.com

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!