2012-06-12 4 views
0

У меня очень длинная строка, такая как «Событие для мобильных», они могут быть любыми строками длины, я хочу показать ... после того, как сказать определенную длину, как это сделать?Как обернуть строку

ответ

3

Вы можете сделать что-то вроде этого -

String str = "The event for mobile is here"; 
    String temp = ""; 
    if(str !=null && str.length() > 10) { 
     temp = str.substring(0, 10) + "...."; // here 0 is start index and 10 is last index 
    } else { 
     temp = str; 
    } 
    System.out.println(temp); 

выход будет - событие ....

4

Используйте класс WordUtils библиотеки Apache.

static String wrap(java.lang.String str, 
     int wrapLength, java.lang.String newLineStr, boolean wrapLongWords) 

пример -

String str = "This is a sentence that we're using to test the wrap method"; 
    System.out.println("Original String 1:\n" + str); 
    System.out.println("\nWrap length of 10:\n" + WordUtils.wrap(str, 10)); 
    System.out.println("\nWrap length of 20:\n" + WordUtils.wrap(str, 20)); 
    System.out.println("\nWrap length of 30:\n" + WordUtils.wrap(str, 30)); 
1
String template = "Hello I Am A Very Long String"; 
System.out.println(template.length() > 10 ? template.substring(0, 10) + "..." : template); 

Вы можете просто посмотреть на длину, а затем сделать substring.

Или, если вы можете использовать общий Utail для Apache, используйте этот код WordUtils.wrap().

я не делал хороший поиск ранее, this SO Post это именно то, что вы хотите

1

Если вы хотите полные слова, то сделать это:

public static void shortenStringFullWords(String str, int maxLength) { 
    StringBuilder output = new StringBuilder(); 
    String[] tokens = str.split(" "); 
    for (String token: tokens) { 
     if (output.length() + token.length <= maxLength - 3) { 
      output.append(token); 
      output.append(" "); 
     } else { 
      return output.toString().trim() + "..."; 
     } 
    } 
    return output.toString().trim(); 
} 
1

вы можете сделать это л ike this

String longString = "lorem ipusum ver long string"; 
    String shortString = ""; 
    int maxLength = 5; 
    if(longString != null && longString.length() > maxLength) { 
     shortString = longString.substring(0,maxLength - 1)+"..."; 
    } 

Здесь вы можете изменить maxLength на нужный вам номер.

1
String myString ="my lengthy string"; 
    int startIndex=0, endIndex=myString.length(), lengthLimit = 10; 



    while(startIndex<endIndex) { 
     System.out.println(myString.substring(startIndex, startIndex+lengthLimit)); 
     startIndex = startIndex+lengthLimit+1; 
    } 
Смежные вопросы