java - 在 Java 中按单词将字符串换行在多个字符之后

标签 java

我有这个代码:

    String s = "A very long string containing " +
                   "many many words and characters. " +
                   "Newlines will be entered at spaces.";

    StringBuilder sb = new StringBuilder(s);

    int i = 0;
    while ((i = sb.indexOf(" ", i + 20)) != -1) {
        sb.replace(i, i + 1, "\n");
    }

    System.out.println(sb.toString());

代码的输出是:

A very long string containing
many many words and
characters. Newlines
will be entered at spaces.

上面的代码是在每 30 个字符的下一个空格之后换行字符串,但我需要在每 30 个字符的前一个空格之后换行字符串,就像第一行一样:

很长的字符串

第二行是

containing many

请给出一些正确的解决方案。

最佳答案

关于java - 在 Java 中按单词将字符串换行在多个字符之后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58590710/

相关文章:

java - JDBC 结果集类型滚动敏感

java - Spring Thymeleaf 无法解析模板

java - Java 中引发特定异常时的通知

java - 无法让@Rollback 为我的 Spring JPA 集成测试工作

java - 在 Java 中使用 addAll 超过 Set 的 ConcurrentModification 异常

java - 从下到上迭代元素列表的最佳方法是什么?

java - 我可以在处理先前请求的响应时提交新的 Volley 请求吗?

java - 获取 ZIP 文件中的目录条目

java - 如何使用 FastDateFormat 格式化 UTC 时间?

java - 选择单选按钮后,平滑滚动到 ListView 中的下一项