美文网首页
递归实现:按固定长度截取字符串

递归实现:按固定长度截取字符串

作者: Suremotoo | 来源:发表于2017-09-05 13:39 被阅读19次
    public class TestSubStr {
        public static void main(String[] args) {
            String str = "123456789";
            int num = 2;
            String[] strs = subStrByNum(str, num);
            for (String s : strs) {
                System.out.println(s);
            }
        }
    
        /**
         * [subStrByNum 按截取长度截取,返回字符串]
         * @param  str [需截取的字符串]
         * @param  num [按多少长度截取]
         * @return     [截取完的字符串数组]
         */
        public static String[] subStrByNum(String str, int num) {
            StringBuffer result = new StringBuffer();
            String string = subStr(result, str, num);
            return string.split("~");
        }
    
        /**
         * [subStr 截取字符串的方法]
         * @param  result [用来存放截取处理后的字符串]
         * @param  str    [需截取的字符串]
         * @param  num    [按多少长度截取]
         * @return        [处理后的字符串]
         * @description  该方法用递归实现按固定长度截取字符串
         */
        public static String subStr(StringBuffer result, String str, int num) {
            if (str.length() <= num) {
                result.append(str.substring(0));
            } else {
                String subStr = str.substring(0, num);
                result.append(subStr + "~");
                String surStr = str.substring(num);
                if (surStr.length() > num) {
                    subStr(result, surStr, num);
                } else {
                    result.append(surStr);
                }
            }
            return result.toString();
        }
    }
    

    注意:避免使用特殊符号

    相关文章

      网友评论

          本文标题:递归实现:按固定长度截取字符串

          本文链接:https://www.haomeiwen.com/subject/xvpujxtx.html