2013-06-19 2 views
1

Как я могу обрезать текст без разреза в середине слова?вырезанная строка в java, не разбирая середину слова

Для Exemple, у меня есть строка:.

«Совершенно свежий и новый подход к самой жизни появляется еще раз вы на хороший старт, готов сделать немного больше в ваш ориентированный на результат настроение. Это не сумма усилий, а результаты, которые вас интересуют. Вы также получаете много в глубине романтических и эмоциональных связей в своей жизни. Хорошее время для программы самосовершенствования или благотворительность, милостыню и благотворительность ».

Если я сократить его, я хочу, чтобы сократить как это:.

«Абсолютно свежий и новый подход к самой жизни появляется еще раз вы на хороший старт, готов чтобы сделать это немного дополнительный в вашего ориентированного на результат кадра ума. Это не сумма усилий, но результаты, которые важны для вас. Вы можете также получить много в глубине романтики и»

И нет:

«Совершенно новый и новый подход к самой жизни. Еще раз, вы в хорошем старте, желая сделать это немного больше в вашего ориентированного на результат настроения. Это не сумма усилий, а результаты, которые вам важны. Вы также получите много в глубине романтики и Emoti»

+2

Где вы хотите вырезать? Как вы де Термин? Знаете ли вы индекс, где вырезать? – NINCOMPOOP

+1

Этот вопрос задан раньше, http://stackoverflow.com/questions/4212675/wrap-the-string-after-a-number-of-character-word-wise-in-java – DevZer0

+0

Если так, просто проверьте на индексировать и переместить его назад или вперед в следующий пробел. – selig

ответ

8

В этом методе передать вашу строку и последний индекс, пока вы хотите trancate.

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; 
} 
+0

+1. Приятно и ясно. :) – Enrichman

+0

+1. спасибо ... Отлично ... !!!!!! –

+0

Интересно, почему еще нет lib. Это общая проблема. – plzdontkillme

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); 
} 
+0

Вы пытались с помощью 'String s =" A "полностью"; '? –

+0

Нет, но я могу себе представить результат. Это зависит только от того, чего вы хотите достичь. Вопрос не ясен, и я только что дал решение. Затем вы можете настроить код. (лично мне больше нравится решение @Ashish Aggarwal) – Enrichman

Смежные вопросы