`

JDK 1.3 字符串分割

阅读更多
 /**
     * 分割字符串
     * @param str String       被分割字符串
     * @param seperator String 分割符
     * @return String[]        返回字符串数组
     */
    public static String[] split2Array(String str, String seperator) {

        //如果分割符是"",直接把字符串单个分割,返回

        if (seperator.equals("")) {
            if (str.length() == 0) {
                return new String[]{str};
            }
            String[] result = new String[str.length()];
            for (int i = 0; i < result.length; i++) {
                result[i] = "" + str.charAt(i);
            }
            return result;
        }

        //虽然不够美 不过用§,ê,б 应该不至于三个同时出现吧
        if(str.indexOf("§")==-1){
            str = str.replaceAll(seperator, "§");
            seperator = "§";
        }else if(str.indexOf("ê")==-1){
            str = str.replaceAll(seperator, "ê");
            seperator = "ê";
        }else if(str.indexOf("б")==-1){
            str = str.replaceAll(seperator, "б");
            seperator = "б";
        }

        //下面则是为是用这种笨方法把字符分割后返回
        int sum = 0;
        int p = 0;
        for (int i = 0; i < str.length(); i++) {
            if (str.indexOf(seperator, p) != -1) {
                p = str.indexOf(seperator, p) + 1;
                sum = sum + 1;
            }
        }
        if (sum <= 0) {
            return new String[]{str};
        }
        String[] result = new String[sum + 1];
        p = 0;
        int e = 0;
        for (int i = 0; i < result.length; i++) {
            e = str.indexOf(seperator, p);
            if (e == -1) {
                e = str.length();
            }
            result[i] = str.substring(p, e).trim();
            p = str.indexOf(seperator, p) + 1;
        }
        return result;
    }

 

    例: String[] ts = split2Array("1#2#3","#");

          就可用 String[] ts = split2Array("1##2##3","##");

这只是为了工作需要而写的一个方法,现在都很少人用JDK1.3了

2010-04-02

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics