The following code snippet will show you how to split a string by numbers of characters. We create a method called splitToNChars()
that takes two arguments. The first arguments is the string to be split and the second arguments is the split size.
This splitToNChars()
method will split the string in a for
loop. First we’ll create a List
object that will store parts of the split string. Next we do a loop and get the substring for the defined size from the text and store it into the List
. After the entire string is read we convert the List
object into an array of String
by using the List
‘s toArray()
method.
Let’s see the code snippet below:
package org.kodejava.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]);
}
}
When run the code snippet will output:
[ABC, DEF, GHI, JKL, MNO, PQR, STU, VWX, YZ]
[ABCD, EFGH, IJKL, MNOP, QRST, UVWX, YZ]
[ABCDE, FGHIJ, KLMNO, PQRST, UVWXY, Z]
- How do I get number of each day for a certain month in Java? - September 8, 2024
- How do I get operating system process information using ProcessHandle? - July 22, 2024
- How do I sum a BigDecimal property of a list of objects using Java Stream API? - July 22, 2024
Thanks Mr Saryada for your amazing tips