java String自定义拆分成数组(分隔字符可多个)

    /**
     * 将字符串分隔成数组
     * @param strSource 原字符串
     * @param separator 分隔符号,可为多个字符组成的字符串
     * @param ignoreEmptyValue 是否略过空字符串(空字符串不做为一个元素)
     * @return 返回分隔的字符数组
     */
    public static String[] strSplitToArray(String strSource, String separator, boolean ignoreEmptyValue) {
        if(null == strSource || strSource.trim().length() == 0) 
            return new String[0];
        if(null == strSource || strSource.length() == 0 || !strSource.contains(separator))
            return new String[] {strSource};
        StringBuilder sbStr = new StringBuilder(strSource);
        List<String> list = new LinkedList<>();
        int start = 0, end = 0;
        String str = null;
        while((end = sbStr.indexOf(separator)) != -1) {
            str = sbStr.substring(start, end);
            if(!ignoreEmptyValue || false == str.isEmpty()){
                list.add(str);
            }
            sbStr.delete(0, end+separator.length());
        }
        if(sbStr.length() > 0) {
            list.add(sbStr.toString());
        }
        return list.toArray(new String[list.size()]);
    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章