Abschneiden der Zeichenfolge an der nächstgelegenen Wortgrenze

8

Ist es möglich, eine Java-Zeichenkette nach einer Anzahl von Zeichen auf die nächste Wortgrenze abzuschneiden. Ähnlich der PHP-Funktion wordwrap (), die in diesem Beispiel .

    
Xenph Yan 05.02.2009, 05:39
quelle

4 Antworten

14

Verwenden Sie java.text.BreakIterator , etwa so:

%Vor%     
David Z 05.02.2009, 05:50
quelle
4

Sie können regulären Ausdruck verwenden

%Vor%     
Dennis C 05.02.2009 05:54
quelle
2

Bei der ersten Annäherung werden Sie mit einer Länge größer als number_chars enden. Wenn Sie ein genaues Maximum oder weniger benötigen, wie für eine Twitter-Nachricht, sehen Sie sich meine Implementierung unten an.

Beachten Sie, dass der Regexp-Ansatz ein Leerzeichen zum Abgrenzen der Wörter verwendet, während BreakIterator Wörter aufteilt, auch wenn sie Kommas und andere Zeichen enthalten. Dies ist wünschenswerter.

Hier ist meine volle Funktion:

%Vor%     
otterslide 12.05.2012 18:15
quelle
0

Lösung mit BreakIterator ist nicht wirklich einfach, wenn Satz brechen URL ist, bricht URL nicht sehr nette Weise. Ich habe eher meine Lösung benutzt:

%Vor%

Splitter / Joiner ist aus Guave. Ich gebe auch ... am Ende in meinem Gebrauch cas (kann weggelassen werden).

    
To Kra 06.03.2018 11:08
quelle

Tags und Links