有时候需要将字符串进行定长分段,比如base64编码就是第60个字节(有些是76个字节)加一个换行,Java并无此类实现,只能手动实现,直接上代码:
public class test {
public static String[] str_split(String str, int length) {
int len = str.length();
String[] arr = new String[(len + length - 1) / length];
for (int i = 0; i < len; i += length) {
int n = len - i;
if (n > length)
n = length;
arr[i / length] = str.substring(i, i + n);
}
return arr;
}
public static String str_split(String str, int length, CharSequence delimiter) {
return String.join(delimiter, str_split(str, length));
}
public static void main(String[] args) throws Exception {
System.out.println(str_split("abcdefg", 3, " "));
}
}