如何将一个字符串按要求切割成多个字符串

简介: 很少有机会碰到一些实际数据处理问题,简单记录下自己的实现此问题具体要求:原字符串:一二三四五输入1:一,二,三,四,五输入2:一二,三四,五输入3:一二三,四五...

具体代码:

import java.util.Arrays;

public class demo1 {
    public static String[] function(String s,int i) {
        //向上确整,确定数组长度,比如长度5,切割值2,结果就是3
        int j = (int) Math.ceil(s.length() * 1.0 / i);
        String finalArray[] = new String[j];
        int k = s.length() / i;
        int a = 0;
        //j>k意味字符串无法平均分割,最后一位元素需要单独赋值
        if (j > k) {
            for (a = 0; a < k; a++) {
                finalArray[a] = s.substring(a * i, a * i + i);
            }
            finalArray[k] = s.substring(i * k);
            return finalArray;
        } else {
            //可以平均分割,循环赋值
            for (a = 0; a < k; a++) {
                finalArray[a] = s.substring(a * i, a * i + i);
            }
            return finalArray;
        }

    }

    public static void main(String[] args) {
        String s = "一二三四五";
        int i = 2;
        //排除以下情况:字符串长度为1,切割值<1,字符串长度小于切割值
        if (s.length() == 1 || i < 1 || s.length() < i) {
            System.out.println("你这字符串或者切割值不满足要求呀,请检查下");
        }else{
            System.out.println(Arrays.toString(function(s,i)));
        }



    }
}
目录
相关文章
|
5月前
|
存储 C# C语言
字符串终止符
字符串终止符
448 2
|
5月前
|
存储 算法 编译器
|
5月前
|
存储 安全 C语言
c++字符串
c++字符串
51 1
|
5月前
|
存储 C语言
c字符串
c字符串
34 0
|
5月前
|
C#
C#字符串
C#字符串
41 0
|
Java C语言
字符串的简单介绍和字符串的大小比较
字符串的简单介绍和字符串的大小比较