martedì 19 luglio 2011

Generare abstract di testi lunghi senza troncare le parole

Spesso capita di dover mostrare a video oppure stampare un abstract di un testo molto lungo.E' però spesso utile evitare di troncare le parole nel mezzo.
Quando mi serve mi aiuto con questo piccolo metodo, che,  data la stringa e la lunghezza massima dell’abstract,  tronca alla lunghezza stabilita ma, se la stringa ha degli spazi, allora prende il testo fino a prima dell’ultimo spazio, aggiungendo in fondo 3 puntini di sospensione.



      public static String truncString(String strIn,int length) {
             StringBuffer strOut=new StringBuffer();
             if (strIn != null) {
                    strIn = strIn.trim();
                    if (!strIn.equals("") && strIn.length() > length) {
                           strOut.append(strIn.substring(0, length));
                           if (strOut.toString().contains(" ")) {
                                  int lunghezza=strOut.length();
                                  strOut.append(strOut.substring(0, strOut.lastIndexOf(" ")));
                                  strOut.append("...");
                                  strOut.delete(0, lunghezza);
                           }
                    } else
                           strOut.append(strIn);
             }
             return strOut.toString();
       }


Nessun commento:

Posta un commento