3

如何截断文本而不在单词中间截断?

例如,我有字符串:

“一种全新的生活方式本身出现了。再一次,你有了一个良好的开端,愿意在你以结果为导向的心态中多做一点。这不是努力的多少,而是结果对你来说很重要。你也会在生活中获得更多的浪漫和情感纽带。这是自我提升计划或慈善事业、布施和慈善事业的好时机。”

如果我剪它,我想像这样剪:

“一种全新的生活方式本身出现了。再一次,你有了一个良好的开端,愿意在你以结果为导向的心态中多做一点。这不是努力的多少,而是结果对你来说很重要。你也获得了很多浪漫的深度和“

并不是 :

“一种全新的生活方式本身出现了。再一次,你有了一个良好的开端,愿意在你以结果为导向的心态中多做一点。这不是努力的多少,而是结果对你来说很重要。你在浪漫和情感的深度上也获得了很多“

4

3 回答 3

11

在此方法中,传递您的字符串和最后一个索引,直到您想要转译。

public String truncate(final String content, final int lastIndex) {
    String result = content.substring(0, lastIndex);
    if (content.charAt(lastIndex) != ' ') {
        result = result.substring(0, result.lastIndexOf(" "));
    }
    return result;
}
于 2013-06-19T10:16:26.020 回答
2

WordUtils.wrap(String str, int wrapLength)来自 Apache Commons。

于 2013-06-19T10:18:28.843 回答
0

这将切断中间的字符串(或多或少)。

public static void main(String[] args) {
    String s = "A totally fresh and new approach to life itself emerges. Once again, you’re off to a good start, willing to do that little bit extra in your result-oriented frame of mind. It’s not the amount of effort but the results that matter to you. You also gain much in the depth of the romance and emotional bonds in your life. This is a good time for self-improvement programs or philanthropy, alms-giving and charity.";
    int middle = s.length() / 2;
    while(s.charAt(middle) != ' ') {
        middle++;
    }
    String start = s.substring(0, middle);
    String end = s.substring(middle, s.length());
    System.out.println(start);
    System.out.println(end);
}
于 2013-06-19T10:16:46.870 回答