docs: public static List<String> split(String str, String separator, int limit, boolean isTrim, boolean ignoreEmpty, boolean ignoreCase){
  		if(StrUtil.isEmpty(str)){
  			return new ArrayList<String>(0);
  		}
  		if(limit == 1){
  			return addToList(new ArrayList<String>(1), str, isTrim, ignoreEmpty);
  		}
  		
  		if(StrUtil.isEmpty(separator)){//分隔符为空时按照空白符切分
  			return split(str, limit);
  		}else if(separator.length() == 1){//分隔符只有一个字符长度时按照单分隔符切分
  			return split(str, separator.charAt(0), limit, isTrim, ignoreEmpty, ignoreCase);
  		}
  		
  		final ArrayList<String> list = new ArrayList<>();
  		int len = str.length();
  		int separatorLen = separator.length();
  		int start = 0;
  		int i = 0;
  		while(i < len){
  			i = StrUtil.indexOf(str, separator, start, ignoreCase);
  			if(i > -1){
  				addToList(list, str.substring(start, i), isTrim, ignoreEmpty);
  				start = i + separatorLen;
  				
  				//检查是否超出范围（最大允许limit-1个，剩下一个留给末尾字符串）
  				if(limit > 0 && list.size() > limit-2){
  					break;
  				}
  			}else{
  				break;
  			}
  		}
  		return addToList(list, str.substring(start, len), isTrim, ignoreEmpty);
  	}