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)アパッチコモンズから。

于 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 に答える