如何在一定长度后使用拆分字符串?

new*_*orn 5 java

我想在一定长度后分割一个字符串.

假设我们有一串"消息"

Who Framed Roger Rabbit 
Run Code Online (Sandbox Code Playgroud)

像这样拆分:

"Who Framed" " Roger Rab" "bit"
Run Code Online (Sandbox Code Playgroud)

当"message"变量超过10时,我想拆分.

我目前的拆分代码:

private void sendMessage(String message){

// some other code ..

String dtype = "D";
int length = message.length();
String[] result = message.split("(?>10)");
for (int x=0; x < result.length; x++)
        {
            System.out.println(dtype + "-" + length + "-" + result[x]); // this will also display the strd string
        }
// some other code ..
}
Run Code Online (Sandbox Code Playgroud)

And*_*ner 20

我根本不会用String.split它:

String message = "Who Framed Roger Rabbit";
for (int i = 0; i < message.length(); i += 10) {
  System.out.println(message.substring(i, Math.min(i + 10, message.length()));
}
Run Code Online (Sandbox Code Playgroud)

增加2018/5/8:

如果您只是打印字符串的部分,那么有一个更有效的选项,因为它避免显式创建子字符串:

PrintWriter w = new PrintWriter(System.out);
for (int i = 0; i < message.length(); i += 10) {
  w.write(message, i, Math.min(i + 10, message.length());
  w.write(System.lineSeparator());
}   
w.flush();
Run Code Online (Sandbox Code Playgroud)