Java如何将字符串除以多个字符?

以下代码段将向您展示如何按字符数分割字符串。我们创建了一个名为的方法splitToNChars(),该方法带有两个参数。第一个参数是要分割的字符串,第二个参数是分割的大小。

此splitToNChars()方法将字符串拆分为一个for循环。首先,我们将创建一个List对象,该对象将存储拆分字符串的一部分。接下来,我们进行循环,从文本中获取定义大小的子字符串,并将其存储到中List。读取整个字符串后,我们使用的方法将List对象转换为的数组。StringListtoArray()

让我们看看下面的代码片段:

package org.nhooo.example.lang;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class SplitStringForEveryNChar {
    public static void main(String[] args) {
        String text = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

        System.out.println(Arrays.toString(splitToNChar(text, 3)));
        System.out.println(Arrays.toString(splitToNChar(text, 4)));
        System.out.println(Arrays.toString(splitToNChar(text, 5)));
    }

    /**
     * Split text into n number of characters.
     *
     * @param text the text to be split.
     * @param size the split size.
     * @return an array of the split text.
     */
    private static String[] splitToNChar(String text, int size) {
        List<String> parts = new ArrayList<>();

        int length = text.length();
        for (int i = 0; i < length; i += size) {
            parts.add(text.substring(i, Math.min(length, i + size)));
        }
        return parts.toArray(new String[0]);
    }
}

运行时,代码片段将输出:

[ABC, DEF, GHI, JKL, MNO, PQR, STU, VWX, YZ]
[ABCD, EFGH, IJKL, MNOP, QRST, UVWX, YZ]
[ABCDE, FGHIJ, KLMNO, PQRST, UVWXY, Z]