日期:2014-05-20  浏览次数:20569 次

请教字符串分割问题
比如:飞机,潜水艇,论坛,
要分割成数组,每个数组的长度不能长于一个固定的长度,但是每个数组都有完整的语义,以及最长的长度,比如说固定长度为4,
就不能是 
飞机,潜水
。。。。。
只能是
飞机
潜水艇
。。。。。

哎,不知道有没有说明白


------解决方案--------------------
那么:中华人民共和国,美利坚合众国,大不列颠及北爱尔兰王国
按固定长度4来切分,按照你这个需求怎么玩?

还是忽略长度要求,其实只需要按 逗号 切分就行了?
------解决方案--------------------
Java code
    public static void main(String[] args) {
        String str = "你好,去,不错,可以,有意思,过来";
        int length = 5;
        String[] arr = str.split(",");
        List<String> strList = new ArrayList<String>();
        String temp = "";
        int size = 0;
        for(String s : arr) {
            if(temp.equals("")) {
                if(s.length() > length) {
                    strList.add(s);
                } else {
                    temp = s;
                    size = s.length();
                }
            } else {
                if(size + s.length() > length) {
                    strList.add(temp);
                    temp = s;
                    size = s.length();
                } else {
                    temp += "," + s;
                    size += s.length();
                }
            }
        }
        if(!temp.equals("")) {
            strList.add(temp);
        }
        for(String s : strList) {
            System.out.println(s);
        }
    }