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()]);
    }

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