/**
*
* @param ori 待分割的字符串
* @param split 分隔符
* @return
*/
private List<String> mySplit(String ori, String split){
List<String> list = new ArrayList<>();
if(ori != null){
list.add(ori);
}
if(ori == null){
return null;
}else if(split == null){
return list;
}
if(ori.isEmpty()){
return list;
}else if(split.isEmpty()){
return list;
}
list = new ArrayList<>();
StringBuilder sb = new StringBuilder();
boolean needAdd = true; //是否需要添加字符
for(int i = 0; i < ori.length(); i++){
boolean find = false; //是否找到分割符
//足够满足分隔符长度
int len = i + split.length();
if(len - 1 < ori.length()){
for(int j = i; j < len; j++){
if(ori.charAt(j) != split.charAt(j - i)){
break;
}else if(j == len - 1){
find = true;
}
}
}
//找到了分隔符
if(find){
needAdd = false; //不需要添加
}
if(needAdd){
sb.append(ori.charAt(i));
}else{
if(sb.length() > 0){
list.add(sb.toString());
}
i += split.length() - 1;
sb.delete(0, sb.length());
needAdd = true;
}
}
if(sb.length() > 0){
list.add(sb.toString());
}
return list;
}