Java如何在一定数量的字符之后在一个空格中拆分字符串

时间:2017-07-18 04:03:40

标签: java string split

(问题因为广泛而被关闭所以我试图更清楚)

我发现了许多重复的问题,但它们都是其他编程语言。

我有一个字符串,我想要打破字符串的每68个字符。但这很可能会导致句子在一个单词中被打破。

例如

  

我是爱猫狗,但不是他们携带的逃亡者。我也很瘦   k,猫有时很粗鲁,因为我不会拥抱我   他们也是。总的来说,虽然猫和狗都很棒。

相反,我想在字符68之前的最近空间处打破这些字符串。然后我可以以不中断单词的方式呈现字符串。

最终这个问题可能可以通过for循环检查每个char 68以及一次一个以下来查看它们是否为空格来解决。当它找到空间时,可以在那个焦点处切割它。或者,我可以一次添加一个单词,直到我传递68个字符而不添加最后一个单词。第三种选择是在第68个字符处对字符串进行子串,然后在空格字符的lastIndexOf处第二次对字符串进行子串。

但是,我的所有想法看起来都非常低效,我想知道是否有任何已经创建或内置的字符串方法可以做到这一点?

1 个答案:

答案 0 :(得分:4)

您可以使用Apache commons WordUtils.wrap()中的[code]方法:

代码:

import org.apache.commons.lang3.*;

class WrapTest {
    public static void main (String[] args)  {
        String str = "I am a love cats and dogs but not the flees they carry. Also i think that cats are sometimes rude because they do not hug me when i want them too. Overall though cats and dogs are both great.";
        str = WordUtils.wrap(str, 68);
        System.out.println(str);
    }
}

输出:

I am a love cats and dogs but not the flees they carry. Also i think
that cats are sometimes rude because they do not hug me when i want
them too. Overall though cats and dogs are both great.